|
@@ -3,17 +3,21 @@ package stc
|
|
import (
|
|
import (
|
|
"fmt"
|
|
"fmt"
|
|
"net"
|
|
"net"
|
|
|
|
+ "pbx-api-gin/internal/app/ami/action"
|
|
"pbx-api-gin/internal/app/stc/broadcast"
|
|
"pbx-api-gin/internal/app/stc/broadcast"
|
|
msgdata "pbx-api-gin/internal/app/stc/data"
|
|
msgdata "pbx-api-gin/internal/app/stc/data"
|
|
|
|
+ "pbx-api-gin/pkg/lfshook"
|
|
"sync"
|
|
"sync"
|
|
|
|
|
|
"syscall"
|
|
"syscall"
|
|
"time"
|
|
"time"
|
|
)
|
|
)
|
|
|
|
|
|
-func StartStcConnection(ServerAddr string, Port int) {
|
|
|
|
|
|
+func StartStcConnection(conn net.Conn) {
|
|
//var conn net.Conn
|
|
//var conn net.Conn
|
|
var wg sync.WaitGroup
|
|
var wg sync.WaitGroup
|
|
|
|
+ ServerAddr := "10.0.11.11"
|
|
|
|
+ Port := 10100
|
|
|
|
|
|
for {
|
|
for {
|
|
// 尝试建立连接
|
|
// 尝试建立连接
|
|
@@ -21,6 +25,7 @@ func StartStcConnection(ServerAddr string, Port int) {
|
|
if err != nil {
|
|
if err != nil {
|
|
fmt.Printf("连接失败 %s:%d,将在5秒后重试...\n", ServerAddr, Port)
|
|
fmt.Printf("连接失败 %s:%d,将在5秒后重试...\n", ServerAddr, Port)
|
|
time.Sleep(5 * time.Second)
|
|
time.Sleep(5 * time.Second)
|
|
|
|
+ lfshook.NewLogger().Logger.Infof("reconnect err %+v", err)
|
|
continue
|
|
continue
|
|
}
|
|
}
|
|
|
|
|
|
@@ -37,6 +42,12 @@ func StartStcConnection(ServerAddr string, Port int) {
|
|
Sendheartbeat(conn) // 发送心跳
|
|
Sendheartbeat(conn) // 发送心跳
|
|
}()
|
|
}()
|
|
|
|
|
|
|
|
+ //start AMI
|
|
|
|
+ go action.StartAMI(func() {
|
|
|
|
+ lfshook.NewLogger().Info("ami callback")
|
|
|
|
+ // 首次连接才进行初始化
|
|
|
|
+ }, []func(event map[string]string){}, conn)
|
|
|
|
+
|
|
// 等待连接断开
|
|
// 等待连接断开
|
|
wg.Wait()
|
|
wg.Wait()
|
|
fmt.Println("检测到连接断开,准备重新连接...")
|
|
fmt.Println("检测到连接断开,准备重新连接...")
|