проброс честного номера и странности с SET(CALLERID(num)
Есть абонент с шестизначным номером оператора-партнера, для которого я делаю проброс через свой * ( последняя миля по SIP-у). Номер у абонента к примеру 987654, и все звонки на вход и исход я должен
пробросить через * партнера. Главное условие - абонент делает вызов ( в любом направлении), и мне надо четко передать его CallerID. У абонента стоит железка LinkSys RT31P2 с прописанной под этот номер линией.
Я выставляю в extensions.conf в контексте абонента и специально под него вот такие строки в надежде, что все будет красиво:
exten => _0.,1,Set(CDR(dst2)=38${EXTEN})
exten => _0.,n,Set(CALLERID(num)=${CUSTOMER_SRC})
exten => _0.,n,Set(CDR(dialpeer)=peer-kiev)
exten => _0.,n,Dial(SIP/peer-kiev/${EXTEN},60,Ttr)
Мне * красиво это показывает в консоли вот так:
<------------>
-- Executing [970281@987654:1] Set("SIP/987654-b7a09288", "CDR(dst2)=380ХХХ970281") in new stack
-- Executing [970281@987654:2] Set("SIP/987654-b7a09288", "CALLERID(num)=ХХ2987654") in new stack
-- Executing [970281@987654:3] Set("SIP/987654-b7a09288", "CDR(dialpeer)=peer-kiev") in new stack
-- Executing [970281@987654:4] Dial("SIP/987654-b7a09288", "SIP/peer-kiev/970281|60|Ttr") in new stack
-- Called peer-kiev/970281
pbx*CLI>
Вроде бы как CallerID абонента А четко выдается. В то же время, при включенном sip set debug peer 987654
получаем логи:
<--- Transmitting (no NAT) to 10.29.0.10:5060 --->
SIP/2.0 180 Ringing
Via: SIP/2.0/UDP 10.29.0.10:5060;branch=z9hG4bK-bb9e23fc;received=10.29.0.10
From: Anonymous <sip:anonymous@localhost>;tag=6006662b3f99d82co0
To: <sip:970281@194.9.ХХ.YY>;tag=as29572af5
Call-ID: b6631157-bceb46f0@localhost
CSeq: 102 INVITE
User-Agent: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Contact: <sip:970281@10.29.0.9>
Content-Length: 0
<------------>
-- Got SIP response 603 "Declined" back from 1XX.YY.231.20
-- SIP/peer-kiev-084f5d30 is busy
== Everyone is busy/congested at this time (1:1/0/0)
== Auto fallthrough, channel 'SIP/987654-b7a09288' status is 'BUSY'
pbx*CLI>
<--- Transmitting (no NAT) to 10.29.0.10:5060 --->
SIP/2.0 486 Busy Here
Via: SIP/2.0/UDP 10.29.0.10:5060;branch=z9hG4bK-bb9e23fc;received=10.29.0.10
From: Anonymous <sip:anonymous@localhost>;tag=6006662b3f99d82co0
To: <sip:970281@194.9.XX.YY>;tag=as29572af5
Call-ID: b6631157-bceb46f0@localhost
CSeq: 102 INVITE
User-Agent: Asterisk
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Length: 0
X-Asterisk-HangupCause: Normal Clearing
X-Asterisk-HangupCauseCode: 16
Получается, что Астериск оператора peer-kiev отбрасывает мой вызов по причине неопределенного CallerID.
Откуда берется строка From: Anonymous <sip:anonymous@localhost>;tag=6006662b3f99d82co0 - ХЗ.
Пробовал выставлять exten => _0.,n,Set(CALLERID(all)="${CUSTOMER_SRC}" <${CUSTOMER_SRC}>) - та же фигня.
Астериск - 1.4
Подскажите, плз, где могут быть грабли, и как их обойти?
|