package agiServer import ( "fmt" "os" "pbx-api-gin/internal/app/ami/action" "pbx-api-gin/pkg/lfshook" "github.com/CyCoreSystems/agi" ) func StartAGI(serviceAddress, serviceAGIPort string) { server := fmt.Sprintf("%s:%s", serviceAddress, serviceAGIPort) err := agi.Listen(server, agiHandler) if err != nil { lfshook.NewLogger().Errorf("agi server listen error %+v", err) os.Exit(1) } } func agiHandler(a *agi.AGI) { defer a.Close() taskName, ok := a.Variables["agi_arg_1"] if !ok { lfshook.NewLogger().Errorln("Not found Action agi_arg_1", taskName) return } //time.Sleep(10 * time.Second) action.WaitTaskCreate(taskName) }