extension.go 800 B

123456789101112131415161718192021222324252627282930313233343536
  1. package action
  2. import (
  3. "errors"
  4. "pbx-api-gin/internal/app/ami/model"
  5. )
  6. func ExtensionStateList() (result []*model.ExtensionStatus, err error) {
  7. action := map[string]string{
  8. "Action": "ExtensionStateList",
  9. }
  10. res, events, err := AminInstance.Send(action)
  11. if err != nil {
  12. return nil, err
  13. }
  14. if res["Response"] != "Success" {
  15. return nil, errors.New(res["Message"])
  16. }
  17. for _, event := range events {
  18. if event.Data["Event"] == "ExtensionStatus" {
  19. point := &model.ExtensionStatus{
  20. Event: event.Data["Event"],
  21. Exten: event.Data["Exten"],
  22. Context: event.Data["Context"],
  23. Hint: event.Data["Hint"],
  24. Status: event.Data["StatusText"],
  25. StatusText: event.Data["StatusText"],
  26. }
  27. result = append(result, point)
  28. }
  29. }
  30. return result, nil
  31. }