Asterisk и Elil SIP Trunio от Twilio (устранение неполадок при входе)
Я занимаюсь этим несколько дней и не могу направить входящие звонки на добавочные номера пользователей. Тем не менее, исходящие вызовы и внутренний внутренний SIP-набор работают, когда я выполняю вызов на номер, связанный с магистралью SIP Twilio Elastic, которую я настроил и настроил для домена, я получаю сообщение "Все каналы заняты" от моего оператора.
Система представляет собой свежую установку FreePBX 12.0.68, работающую в Ubuntu 14.04, с внутренним внутренним набором SIP и исходящими вызовами по внешней линии. Конфигурация багажника Twilio для Asterisk была взята отсюда и здесь
type=peer
secret=xxxxxxxxxxxxxxxxxxx
username=xxxxxxxxxxxxxxx
host=xxxxxxxxx.pstn.twilio.com
dtmfmode=rfc2833
canreinvite=no
disallow=all
allow=ulaw
insecure=port,invite
fromuser=xxxxxxxxxxx
fromdomain=xxxxxxxxx.pstn.twilio.com
context=incoming
Вот трафик TCP/UDP между Twilio и сервером
Source Destination Protocal Info
10x.xxx.xx.xxx 10x.xxx.xxx.xx UDP Source port: 5060 Destination port: 5060
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.2 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.3 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.0 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.0 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
54.172.60.0 10x.xxx.xxx.xx SIP/SDP Request: INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com
10x.xxx.xx.xxx 10x.xxx.xxx.xx UDP Source port: 5060 Destination port: 5060
А вот и поток INVITE UDP
INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233
v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233
v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
INVITE sip:+14xxxxxxxxx@xxx.xxxxx.com SIP/2.0
Record-Route: <sip:54.172.60.0:5060;lr;ftag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19>
From: <sip:+16xxxxxxxxx@sip.us1.twilio.com;pstn-params=808481808882;cpc=ordinary>;tag=11540065_6772d868_144031e0-db91-45e9-ae85-6de18ed14b19
To: <sip:+14xxxxxxxxx@xxx.xxxxx.com;user=phone>
CSeq: 25149 INVITE
Max-Forwards: 132
Accept: application/sdp,application/isup,application/dtmf,application/dtmf-relay,multipart/mixed
Session-Expires: 1800
Min-SE: 90
Content-Disposition: session;handling=required
Diversion: sip:+14xxxxxxxxx@public-vip.us1.twilio.com;reason=unconditional
Call-ID: 33939be232ba77b26300353ace17928c@0.0.0.0
Via: SIP/2.0/UDP 54.172.60.0:5060;branch=z9hG4bKdf6c.854803a7.0
Via: SIP/2.0/UDP 172.18.18.39:5060;branch=z9hG4bK144031e0-db91-45e9-ae85-6de18ed14b19_6772d868_287964010429808
Contact: <sip:+16xxxxxxxxx@172.18.18.39:5060;transport=udp>
Allow: INVITE,ACK,CANCEL,OPTIONS,BYE
User-Agent: Twilio Gateway
X-Twilio-AccountSid: ACaa6e5a9a0d40b2b12751f33b612ebf6e
X-Twilio-ApiVersion: 2010-04-01
Content-Type: application/sdp
X-Twilio-CallSid: CAcc7d0e0603fea476fdaa1c94d9243104
Content-Length: 233
v=0
o=- 412164138 412164138 IN IP4 54.172.60.23
s=SIP Media Capabilities
c=IN IP4 54.172.60.23
t=0 0
m=audio 11590 RTP/AVP 0 101
a=rtpmap:0 PCMU/8000
a=rtpmap:101 telephone-event/8000
a=fmtp:101 0-15
a=sendrecv
a=ptime:20
У меня также есть входящий маршрут, настроенный в интерфейсе FreePBX с DID Number
установить мой номер Twilio и Destination
установить непосредственно на добавочный номер пользователя SIP с соответствующим клиентом, работающим и готовым к приему вызовов. Я использовал оба netstat
а также tcpdump
что для меня это выглядит как INVITE
запрос отправлен от Twilio, а FreePBX просто не маршрутизирует его должным образом?
1 ответ
Я читал, что у вас была проблема с NAT - я все еще хотел опубликовать это для людей, которые также сталкивались с подобной проблемой.
Я получил мою магистраль Twilio Elastic SIP, работающую должным образом от нескольких моих систем УАТС, а также от наших конфигураций номеронабирателя с открытым исходным кодом ViciDIAL для некоторых наших клиентов. У меня была одна черта времени с чем-то, что казалось идентичным тому, что описывает OP.
Конечно, я только тестировал входящий вызов на УАТС - я пробовал несколько разных вариантов своей конфигурации, пока не придумал, что именно мешало использовать Twilio, в отличие от любого другого SIP-провайдера в мире.
Во-первых, единственное, что у меня есть для настройки звездочки:
[twilio]
host=xxxxxxx.pstn.twilio.com
type=friend
dtmfmode=rfc4733
canreinivite=no
insecure=port,invite
[twilio1]
type=friend
insecure=port,invite
host=54.172.60.0
dtmfmode=rfc4733
canreinivite=no
[twilio2]
type=friend
insecure=port,invite
host=54.172.60.1
dtmfmode=rfc4733
canreinivite=no
... и так далее для каждого из IP-адресов Twilio, которые вы будете использовать для входящих, так как вы никогда не знаете, какой из ближайших географических IP-адресов он будет использовать. (Я бы заметил, что в журнале звездочки показываются циклические вызовы через IP-адреса, которые зависят от вашего географического региона).
Вы можете увидеть пример здесь в моем журнале звездочек, где я заменил свой телефонный номер twilio только на (twilio_phone) для конфиденциальности: http://pastebin.com/rXz7cY39
Еще одно важное отличие:
Входящие маршруты (DID) должны были быть объявлены с начальным знаком +, что не характерно для моего опыта
Таким образом, с помощью twilio вы должны включить каждый возможный IP в качестве транка, а также включить номера + перед как при наборе номера, так и при создании входящих маршрутов.
Надеюсь, что это помощь любому, кто борется за реализацию!