Имеется схема
Opensips 1.6.2 no tls внутренний IP 192.168.5.16
Asterisk 11 cert9 внутренний IP 192.168.5.8
Opensips является регистратором и пресенс-агентом сипклиентов
Asterisk в свою очередь держит транки и диалплан
конфиг Opensips
Код: Выделить всё
if (is_method("INVITE")) {
setflag(1);
if (!uri=~"sip:\*\*") {
route(toasterisk);
} else {
strip(2);
}
}
route[toasterisk] {
xlog("forwarding to asterisk\n");
rewritehostport("192.168.5.8:5060");
if (!t_relay()) {
sl_reply_error();
}
exit;
}
Код: Выделить всё
[global]
MYMEGA1=SIP/7XXXXXXXXXX
MY=SIP/10000
[multifon-in]
exten => 7XXXXXXXXXX,1,NoOP(${CALLERID(NUM) - ${EXTEN}})
same => n,Set(__TRANSFER_CONTEXT=int)
same => n,Dial(${MY},35,tTHhM(record^${CALLERID(NUM)}^${EXTEN}))
same => n,Macro(voicemail,${MYHOME}@jewy)
same => n,HangUp()
[int]
exten => _1XXXX,n,Dial(SIP/**${EXTEN}@192.168.5.16)
На Asterisk настроен Мультифон транк, сделан проброс всех внешних звонков на мультифон.
Если звонить на мультифоновский транк то не пробрасывается внешний CallerID звонящего
в логах астера при звонке с внешнего номера вот что
-- Executing [79XXXXXXXXX@multifon-in:1] NoOp("SIP/multifon1-out-00000009", "791YYYYYYYY") in new stack
-- Executing [79XXXXXXXXX@multifon-in:2] Set("SIP/multifon1-out-00000009", "__TRANSFER_CONTEXT=int") in new stack
-- Executing [79XXXXXXXXX@multifon-in:3] Dial("SIP/multifon1-out-00000009", "SIP/10000,35,tTHhM(record^791YYYYYYYY^79XXXXXXXX)") in new stack ; Здесь все правильно отображается
== Using SIP VIDEO CoS mark 6
== Using SIP RTP CoS mark 5
-- Called SIP/10000
== Using SIP VIDEO CoS mark 6
== Using SIP RTP CoS mark 5
-- Executing [10000@phones:1] Dial("SIP/10000-0000000b", "SIP/**10000@192.168.5.16") in new stack ; а вот тут уже нет
и в итоге получается что я как будто получаю сам от себя звонок. Понимаю что чего то не хватает... какой то переменной или опции в опенсипсе или астериске чтобы правильно отдавался CallerID.
если пользовать Астериск без связки с опенсипом и все пиры сидели бы на астериске то подобные звонки правильно обрабатываются CallerID показывается... подскажите в чем я ошибаюсь??
UPD:
Вообще убрал из Opensips этот кусок
Код: Выделить всё
if (is_method("INVITE")) {
setflag(1);
if (!uri=~"sip:\*\*") {
route(toasterisk);
} else {
strip(2);
}
}
но ситуация при Внешнем входящем звонке опять таже. нужный внешний CallerID не передается......