Есть пара sip-номеров от одного провайдера, потребовалось их разделить. Проблема, что входящие на оба номера попадают в последний контекст (incoming2):
Код: Выделить всё
[num1]
type=peer
secret=qazwsx
username=78431234567
hasexten=no
host=sip.provider.ru
context=incoming1
insecure=invite
fromuser=78431234567
fromdomain=sip.provider.ru
[num2]
type=peer
secret=qwerty
username=78431234568
hasexten=no
host=sip.provider.ru
context=incoming2
insecure=invite
fromuser=78431234568
fromdomain=sip.provider.ru
2. register => user@domainauthuser@host:port/extension
В доках и везде обьясняют, что нужно для входящих, но у других провайдеров работало и без этой записи. Понадобилось ради extension - требование прова. Заработало, но методом тыка, полного понимания нет. В чём принципиальное отличие от "обычного" варианта [sip-prov] type=peer-а, что потребовалось дублировать в global?
3. Как отлаживать sip?
Выставляю sip set debug peer stupid_prov, сыплется портянка вида:
Код: Выделить всё
Retransmitting #3 (NAT) to 80.90.123.456:5060:
REGISTER sip:sip.provider.ru SIP/2.0
Via: SIP/2.0/UDP 123.456.123.45:5060;branch=z9hG4bK48cf396e
From: <sip:5432100@sip.provider.ru>;tag=as458ad42b
To: <sip:5432100@sip.provider.ru>
Call-ID: 3120c4bc0d7a6c504b5fcb336fbe96f5@127.0.1.1
CSeq: 102 REGISTER
User-Agent: Asterisk PBX
Max-Forwards: 70
Expires: 120
Contact: <sip:5432100@123.456.123.45>
Event: registration
Content-Length: 0
---
[Oct 5 03:19:13] NOTICE[2665]: chan_sip.c:8398 sip_reg_timeout: -- Registration for '5432100@sip.provider.ru' timed out, trying again (Attempt #26)
REGISTER 11 headers, 0 lines
Reliably Transmitting (NAT) to 80.90.123.456:5060:
REGISTER sip:sip.provider.ru SIP/2.0
Via: SIP/2.0/UDP 123.456.123.45:5060;branch=z9hG4bK5e5885c1
From: <sip:5432100@sip.provider.ru>;tag=as3fb426ae
To: <sip:5432100@sip.provider.ru>
Call-ID: 3120c4bc0d7a6c504b5fcb336fbe96f5@127.0.1.1
CSeq: 128 REGISTER
User-Agent: Asterisk PBX
Max-Forwards: 70
Expires: 120
Contact: <sip:5432100@123.456.123.45>
Event: registration
Content-Length: 0
4. В целом ощущаю, что недопонимаю работу именно этого модуля (chan_sip). Что-то нашёл в сети, sip.conf вроде перечитал, но как-то всё разрозненно, в цельную картину не складывается. Простые с виду вопросы ставят в тупик. Если кому не лень, опишите (или ткните носом):
- Как проследить путь звонка от момента приёма до попадания в диалплан? (был момент, что вижу в debug-е входящий, но в диалплан не попадает, как-то само решилось, надо понять, как эти вещи отслеживать).
- Как понять, почему входящие могут идти не в свой контекст, а в default? (Разумеется, с учётом, что контекст им в sip.conf прописан. Есть железка AllVoip AL3400 на 4 gsm-порта, с 1,3го - идут звонки правильно, с 2,4го - в default, при этом у них все настройки одинаковы и никакой ругани в выводе, хочу сам додуплить, почему, но легкий пинок в нужную сторону не помешал бы).