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

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

王林
王林転載
2024-02-09 11:20:18893ブラウズ

如何从 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 までご連絡ください。