package action import ( "errors" "pbx-api-gin/internal/app/ami" "pbx-api-gin/internal/app/ami/model" ) func ExtensionStateList() (result []*model.ExtensionStatus, err error) { action := map[string]string{ "Action": "ExtensionStateList", } res, events, err := ami.AminInstance.Send(action) if err != nil { return nil, err } if res["Response"] != "Success" { return nil, errors.New(res["Message"]) } for _, event := range events { if event.Data["Event"] == "ExtensionStatus" { point := &model.ExtensionStatus{ Event: event.Data["Event"], Exten: event.Data["Exten"], Context: event.Data["Context"], Hint: event.Data["Hint"], Status: event.Data["StatusText"], StatusText: event.Data["StatusText"], } result = append(result, point) } } return result, nil }