星号中的通道名称

时间:2014-04-17 01:13:02

标签: asterisk channel

我正在使用Asterisk 11.当我尝试呼出时,我遇到了获取频道名称的问题。 通常,当被叫方拿起他/她的电话时,我可以获得频道名称。但现在,我希望在拨出后立即获得频道名称。我可以在屏幕上看到它:

Called SIP/7146991234@64.195.139.88
- SIP/64.195.139.88-00000001 is ringing
-- SIP/64.195.139.88-00000001 is making progress passing it to SIP/8001-00000000

我知道频道名称是:“SIP / 64.195.139.88-00000001”, 但我不知道如何从编码或任何其他方式获得它。 请帮我。 非常感谢你!

2 个答案:

答案 0 :(得分:2)

您可以使用被叫频道上的Pre-Dial Handler获取Asterisk 11中出站频道的名称。

[default]    
exten => pre_dial_handler,1,NoOp()
 same => n,Verbose(1, Channel is ${CHANNEL})
 same => n,Return()

exten => dial_example,1,NoOp()
 same => n,Dial(SIP/alice,,b(default^pre_dial_handler^1)

这将在通道SIP / alice-XXXXXXXX上执行子程序pre_dial_handler,而不是实际执行拨号操作的任何通道。子程序在创建后立即在出站通道上执行,但在对其进行任何操作之前,例如进行呼叫尝试。

答案 1 :(得分:0)

您无法在拨号方案中获取出站频道的频道名称

原因:当时还没有创建。

但您可以通过检查变量BRDIGEDPEERNAME或listnen事件来获取外部应用程序。

此外,您可以在cmd_dial内部宏(M param)中获取两个通道