2

私はかつて、事前に構成されたアスタリスクを使用して(AMIを使用して)電話をかけました。私がそうするとき、発信元からの応答は、チャネルと一意のID情報を持っていました。今、私は新しいアスタリスクを構築しようとしています。すべてが設定されていますが、発信元に電話をかけると、応答に含まれる情報のみが「正常にキューに入れられました」です。

どこかに隠されている「応答に関する追加情報を表示する」のようなオプションはありますか?

あなたは私が得る2つの異なる応答を見つけることができます。

これは古いもので、いくつかの貴重な情報が含まれています。

Response: Success
ActionID: 6bf11dfb-4e6c-4eb4-85cd-6c8b8026019f
Message: Originate successfully queued

Event: Newchannel
Privilege: call,all
Channel: SIP/1030-000058aa
State: Down
CallerIDNum: <unknown>
CallerIDName: <unknown>
Uniqueid: 1339103821.22750

Event: Newcallerid
Privilege: call,all
Channel: SIP/1030-000058aa
CallerID: 05359348602
CallerIDName: <Unknown>
Uniqueid: 1339103821.22750
CID-CallingPres: 0 (Presentation Allowed, Not Screened)

Event: ExtensionStatus
Privilege: call,all
Exten: 1030
Context: ext-local
Status: 8

Event: Newstate
Privilege: call,all
Channel: SIP/1030-000058aa
State: Ringing
CallerID: 05359348602
CallerIDName: <unknown>
Uniqueid: 1339103821.22750

Event: Newstate
Privilege: call,all
Channel: SIP/1030-000058aa
State: Up
CallerID: 05359348602
CallerIDName: <unknown>
Uniqueid: 1339103821.22750

Event: ExtensionStatus
Privilege: call,all
Exten: 1030
Context: ext-local
Status: 1

これは新しいものです、何も言いません

Response: Success
ActionID: 98518f9a-c7cb-4b63-8de4-e185f57508d8
Message: Originate successfully queued

ありがとう。

4

2 に答える 2

3

送信している実際のアクション(そのパラメーター)についてはあまり情報を提供していませんが、(長い?)ショットを撮ります。おそらく非同期発信アクションを送信していると思いますが、本当に同期動作が必要です。

「非同期発信アクション」とは、アスタリスクがコマンドを受け入れますが、呼び出しを非同期で行い、後で到着するイベントで成功したかどうかを通知することを意味します。

したがって、あなたの場合、アスタリスクはコマンドが到着したことを通知するだけであり、最終的には呼び出しが行われます。この場合、呼び出しを開始したアクションのactionidを持つ着信イベントをリッスンし、その時点で応答する必要があります。

ただし、呼び出しが実際に応答されたかどうかを同期的に知りたい場合(つまり、呼び出しがダイヤルステータスになるまでアクションに応答しないようにアスタリスクを取得する)は、発信元アクションの非同期引数をfalseに設定してみてください。

https://wiki.asterisk.org/wiki/display/AST/ManagerAction_Originateを参照してください。「async」引数に注意してください。それがあなたが探しているものです。

これについてもここで説明します:http ://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate

それが役に立てば幸い!

于 2012-06-08T00:55:09.840 に答える
1

Asyncを使用しているときにOriginateResponseを受け取らないという同じ問題が発生しました:trueで、問題はマネージャーユーザーアカウントのアクセス許可であることが判明しました。

AMIユーザーアカウントには、書き込み権限「all」または書き込み権限「call」のいずれかが必要です(originateでは不十分です)。このようなもの:

[username]
secret=hello
deny=0.0.0.0/0.0.0.0
permit=127.0.0.1/255.255.255.0
read=orignate,call
write=originate,command,system,call
于 2012-09-27T08:48:27.323 に答える