我曾经使用预先配置的星号来拨打电话(使用 AMI)。当我这样做时,来自来源的响应通常具有频道和唯一的 ID 信息。现在我正在尝试构建一个新的星号。一切都已设置,但当我呼叫发起时,响应仅包含“呼叫成功排队”的信息。
是否有任何选项隐藏在某处,例如“显示响应的额外信息”?
你可以找到我得到的两种不同的回复。
这是旧的,包含一些有价值的信息。
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
Thanks.
您没有提供有关您发送的实际操作(其参数)的太多信息,但我会采取(长距离?)射击。我认为您可能正在发送异步发起操作,但您确实想要同步行为。
“异步发起操作”意味着 asterisk 将接受命令,但会异步发出调用,然后通过event稍后会到达。
因此,就您而言,星号只是让您知道命令已到达,并且将拨打电话最终。在这种情况下,您应该侦听具有发起调用的操作的 actionid 的传入事件,并在当时做出反应。
但是,如果您想以同步方式了解呼叫是否确实得到应答(即:在呼叫具有拨号状态之前,星号不会响应您的操作),请尝试将原始操作的异步参数设置为 false。
See: https://wiki.asterisk.org/wiki/display/AST/ManagerAction_Originate。请注意“async”参数,这就是您要寻找的。
这里也描述了这一点:http://www.voip-info.org/wiki/view/Asterisk+Manager+API+Action+Originate
希望能帮助到你!
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)