sip.conf
[101]
context = technical-office
[102]
context = employment-department
extension.conf
[technical-office]
exten => 101,1,answer()
exten => 101,2,dial(sip/101)
exten => 101,3,hangup()
[employment-department]
exten => 102,1,answer()
exten => 102,2,dial(sip/102)
exten => 102,3,hangup()
当我使用'101'分机拨打'102'时,我有一个错误“没有路由到destionation”。但是上下文是一样的,没有错误
答案 0 :(得分:6)
那是因为你没有正确的背景。 SIP对等方101指向上下文技术办公室,并且在该上下文中没有扩展102。 要使其工作,请使用:
sip.conf
[101]
context = technical-office
[102]
context = technical-office
extension.conf
[technical-office]
exten => _1XX,1,answer()
exten => _1XX,n,dial(sip/${EXTEN})
exten => _1XX,n,hangup()
哪两部手机都处于相同的上下文中,所以如果101拨打102,它将开始工作,如果102要拨打101,它也可以正常工作。 实际上_1XX称为模式,$ {EXTEN}是指您拨打的扩展名。 这在Asterisk拨号方案中非常普遍。
答案 1 :(得分:5)
当然,您可以从一个上下文拨打到下一个上下文。
sip.conf:
[101]
context = technical-office
[102]
context = employment-department
的extensions.conf:
[technical-office]
include => dial-context
[employment-department]
include => dial-context
[dial-context]
exten => _1XX,1,answer()
exten => _1XX,n,dial(sip/${EXTEN})
exten => _1XX,n,hangup()
您的示例无效,因为exten => XXX表示已拨电话,而不是来自电话。如果您使用拨号方案(extensions.conf)101到102交换,您的示例将起作用,允许上下文A上的扩展调用扩展102并在另一方面执行相同的操作。
检查voip-info或查找Asterisk: The future of telephony (O'Reilly)书籍以获取对Asterisk的完整介绍。
希望有所帮助