如何在 Asterisk 中使用动态扩展

如何在 Asterisk 中使用动态扩展

我最近更换了 VoIP 提供商。到目前为止一切顺利,但我遇到了一个小问题(说实话,我真的不知道如何询问/谷歌搜索这个问题)。

使用我的旧提供商,我可以在我的 extensions.conf 入站上下文中拥有每个着陆点编号,如下所示:

exten => _6123456779,1,Goto(1300s,${EXTEN},1) 
exten => _6123456773,1,Goto(1300s,${EXTEN},1)

这很有效,但是使用我的新提供程序后,所有调用都会转到注册函数中的 /extension 或 extension s。


旧提供商 sip.conf:

;This comes through as the phone number dialed
register => username:[email protected]
[CL]
type=peer
host=10.10.10.10
context=from-cl
qualify=yes
disallow=all
allow=ulaw
nat=yes
canreinvite=no
dtmfmode=rfc2833
insecure=port,invite
username=username
authuser=username
secret=password

;这是通过扩展的新提供商 sip.conf 实现的:

register => phonenumber:[email protected]

[CL]
auth=phonenumber
username=phonenumber
host=trunk.engin.com.au
secret=password
type=peer
insecure=invite,port 
nat=yes
qualify=yes
dtmfmode=rfc2833
canreinvite=no
disallow=all
allow=ulaw
allow=alaw
allow=g729
defaultexpirey=1800
maxexpirey=3600
context=from-cl

那么我该如何重新启用此功能?

或者我必须这样做:

register => 6123456770,1:[email protected]/6123456770
register => 6123456770,1:[email protected]/6123456771
register => 6123456770,1:[email protected]/6123456772

等等?等等?

这是 SIP INVITE:

<--- SIP read from UDP:10.10.10.10:5060 --->
INVITE sip:[email protected]:5060 SIP/2.0
Via: SIP/2.0/UDP 10.10.10.10:5060;branch=z9hG4bKl7qoae00agdqjdh18ks0.1
From: <sip:[email protected];user=phone>;tag=SDl4lp901-1922148923-1430721154048-
To: "Full Name"<sip:[email protected]>
Call-ID: SDl4lp901-8c3fdacbe5fbc40c18c775a59025a687-jm6gpa0020
CSeq: 248522241 INVITE
Contact: <sip:[email protected]:5060;transport=udp>
P-Called-Party-ID: <sip:[email protected]>
Supported: 100rel,timer
Allow: ACK,BYE,CANCEL,INFO,INVITE,OPTIONS,PRACK,REFER,NOTIFY,UPDATE
Accept: application/media_control+xml,application/sdp,multipart/mixed
Min-SE: 60
Session-Expires: 1800;refresher=uas
Max-Forwards: 29
Content-Type: application/sdp
Content-Length: 327

v=0
o=BroadWorks 525881593 1 IN IP4 10.10.10.10
s=-
c=IN IP4 10.10.10.10
t=0 0
m=audio 17968 RTP/AVP 8 18 0 101
a=rtpmap:8 PCMA/8000
a=rtpmap:18 G729/8000
a=fmtp:18 annexb=no
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=ptime:20
a=maxptime:30
a=sqn: 0
a=cdsc:1 image udptl t38
<------------->

答案1

我想到了一个解决方法,虽然我不太满意,但是使用这个拨号计划我可以将 s 转换为适当的分机号:

[from-cl]
exten => s,1,NoOp(${SIP_HEADER(To)})
exten => s,n,Set(DID=${SIP_HEADER(To)})
exten => s,n,Set(DID=${CUT(DID,:,2)})
exten => s,n,Set(DID=${CUT(DID,@,1)})
exten => s,n,Goto(from-pstn,${DID},1)

我不会将此标记为最佳答案,因为这很混乱,并且是一种解决方法

相关内容