12345678910111213141516171819202122232425262728293031323334353637 |
- 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
- }
|