Asterisk 통신 시스템을 사용할 때 활성 통화 수를 아는 것은 통화 트래픽을 모니터링하고 관리하는 데 매우 중요합니다. Asterisk Manager 인터페이스를 통해 호출 횟수를 포함한 다양한 이벤트 정보를 얻을 수 있습니다. 이 문서에서는 Asterisk Manager 인터페이스를 사용하여 활성 통화 수를 얻는 방법과 단계를 소개합니다. Asterisk를 처음 사용하는 사용자이든 숙련된 사용자이든 이 문서는 자세한 지침을 제공합니다. 한 번 보자!
별표에 연결하여 이벤트 피어 상태에서 활성 및 비활성 피어 수를 가져왔지만 이제 활성 통화 및 채널 수를 가져와 표시해야 합니다. Channelstatedesc=up을 찾아보았지만 작동하지 않습니다. 로그를 넣어도 해당 이벤트가 발견되는 것을 볼 수 없습니다. 어떻게 고칠 수 있나요? (이벤트 coreshowchannelscomplete를 통해 가능할까요?) 미리 감사드립니다
으아악//server.go package server import ( "bufio" "fmt" "net" "strings" "data" ) func connecttoami(address, username, password string) error { conn, err := net.dial("tcp", address) if err != nil { return err } defer conn.close() fmt.fprintf(conn, "action: login\r\nusername: %s\r\nsecret: %s\r\n\r\n", username, password) peerstatus := &data.peerstatus{} callstatus := &data.callstatus{} scanner := bufio.newscanner(conn) for scanner.scan() { line := scanner.text() fmt.println(line) if strings.hasprefix(line, "peerstatus") { data.getpeerstatus(line, peerstatus) fmt.println("active peers:", peerstatus.active) fmt.println("inactive peers:", peerstatus.inactive) } else if strings.hasprefix(line, "coreshowchannel") { data.getchannelstatus(line, callstatus) fmt.println("active peers:", peerstatus.active) fmt.println("inactive peers:", peerstatus.inactive) } } if err := scanner.err(); err != nil { return err } return nil }
알아냈는데 코드는 다음과 같습니다. //server.go
으아악calls.go
으아악}
위 내용은 Asterisk Manager 인터페이스 이벤트에서 활성 통화 수를 얻는 방법의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!