ホームページ > バックエンド開発 > Golang > Asterisk Manager インターフェイス イベントからアクティブなコールの数を取得する方法

Asterisk Manager インターフェイス イベントからアクティブなコールの数を取得する方法

王林
リリース: 2024-02-09 11:20:18
転載
984 人が閲覧しました

如何从 Asterisk Manager 接口事件获取活动呼叫数量

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
}
ログイン後にコピー

Solution

私はそれを理解しました、コードは次のとおりです。 //Server.go

リーリー

calls.go

リーリー

}

以上がAsterisk Manager インターフェイス イベントからアクティブなコールの数を取得する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

ソース:stackoverflow.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート