Звонок снаружи по SIP URI
Проблема с SIP URI поля "From". Неверно передается.
Сообщений: 6
|
Звонок снаружи по SIP URI
В сети стоит CommuniGate и Asterisk.
В Астериске новичок. Так что заранее извиняюсь за простой вопрос, но излазил уже вроде все.
Итак:
1) Оба сервера в одной подсети (172.17.*)
2) 172.17.35.183 - Asterisk; 172.17.35.158 - CG
3) Пытаюсь звонить на ASterisk с CG по SIP URI (sip:200@172.17.35.183)
4) Звонок проходит. Соединяет. Отображает CallerID (имя), но при попытке перезвона SIP URI - показывает ИМЯ@172.17.35.183 вместо ИМЯ@172.17.35.158
Входящий пакет:
<--- SIP read from 172.17.35.158:5060 --->
INVITE sip:200@172.17.35.183;user=phone SIP/2.0
Via: SIP/2.0/UDP 172.17.35.158:5060;branch=z9hG4bK1878;upaddr=172.17.35.2;rport
P-CGP-Identity: sbabenkov@172.17.35.158
Record-Route: <sip:172.17.35.158:5060;lr>
Record-Route: <sip:rev.488.dialog.cgatepro;lr>
Via: SIP/2.0/TCP 172.17.35.2:5060;branch=z9hG4bK024fsnl23o1s3g2qnll5mgr;rport=54652
Max-Forwards: 69
From: <sip:sbabenkov@172.17.35.158>;tag=bi5bqqnf6lhc745ds2i0
To: <sip:200@172.17.35.183;user=phone>
Call-ID: 9VOZqEvooIdRqK2AV7T71k00O6kOLD
Contact: <sip:sbabenkov@172.17.35.2>
CSeq: 851 INVITE
Expires: 120
Supported: 100rel,sec-agree
Privacy: none
Accept: application/sdp
User-Agent: E71-1 RM-346 210.21.006
Allow: INVITE,ACK,BYE,CANCEL,REFER,NOTIFY,OPTIONS,PRACK
P-Preferred-Identity: sip:sbabenkov@172.17.35.158
Content-Type: application/sdp
Content-Length: 523
От Asterisk ко мне:
INVITE sip:200@172.17.35.7 SIP/2.0
Via: SIP/2.0/UDP 172.17.35.183:5060;branch=z9hG4bK5577a6f8;rport
From: "sbabenkov" <sip:sbabenkov@172.17.35.183>;tag=as43c68036
To: <sip:200@172.17.35.7>
Contact: <sip:sbabenkov@172.17.35.183>
Call-ID: 3a4706042a3917bf2d43215870737a82@172.17.35.183
CSeq: 102 INVITE
User-Agent: Asterisk PBX
Max-Forwards: 70
Date: Tue, 21 Apr 2009 08:44:47 GMT
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY
Supported: replaces
Content-Type: application/sdp
Content-Length: 363
Посмотрел уже все ... везде CallerID = 'sbabenkov'.
Что может быть?
|
Откуда: Уфа
Сообщений: 5856
|
Re: Звонок снаружи по SIP URI
а с чего он должен показывать URI ИМЯ@172.17.35.158?
Asterisk это не прокси, это, скорее, UA-to-UA коммутатор.
Так что с точки зрения идеологии астериска - все верно.
|
Сообщений: 6
|
Re: Звонок снаружи по SIP URI
Да возможно. Но сделать то должно быть не сложно!
Если я МОГУ звонить наружу, то единственное чего не хватает - это подменять "From:" в звонке своему абоненту. Чтобы он его брал из ВХОДЯЩЕГО звонка, поля FROM, и не менял.
Это вообще возможно сделать??
|
Сообщений: 6521
|
Re: Звонок снаружи по SIP URI
Возможно.
Set(CALLERID(all)="Barak_Obama@whitehous.gov" <>
|
Сообщений: 6
|
Re: Звонок снаружи по SIP URI
to ded:
Ага, пытался.
Выяснил что он берет CALLERID(num) и добавляет туда @свой_ip.
Т.е. если делаю
exten => s,n,Set(CALLERID(num)="sip:300@172.17.35.183")
то выглядит так:
From: "300@172.17.35.183" <sip:sip:300@172.17.35.183@172.17.35.183>;tag=as237db75d
в Contact то же самое:
Contact: <sip:sip:300@172.17.35.183@172.17.35.183>
Мне нужно только одно! Чтобы он НЕ подставлял в конце свой IP.
И все в принципе.
Если есть возможность без правки сырцов это сделать было бы супер. Если нет - то хотя бы где именно в dial.c это править;)
|
Откуда: Уфа
Сообщений: 5856
|
Re: Звонок снаружи по SIP URI
а тебе нафига это надо?
чтоб телефон смог вызов по пропущенному звонку делать?
может проще сделать правильный маршрут на астериске?
|
Сообщений: 6
|
Re: Звонок снаружи по SIP URI
Стоп, тогда объясни как...
у меня астериск смотрит наружку по порту 5060.. Просто как Сип-гейт. На нем висят пользователи.
Я могу звонить на них например с sipnet-а:
200@мой_внешний_ип
Я хочу перезванивать на ЭТИХ пользователей, не забивая их всех к себе в базу.
Как я понимаю в данном случае, чтобы перезвонить на них - мне надо забить к себе в базу.
Пример мне звонит vasya@sipnet.ru
А я перезванивать могу ТОЛЬКО на vasya@мой_ip.ru, если конкретно этот vasya не забит у меня в базе ,или нет?
|
Сообщений: 6521
|
Re: Звонок снаружи по SIP URI
Dexion, каша просто.
Почитайте теорию. Есть звонки т н РС-to-РС, исходя из SIP URI.
Большинство софтфонов умеют это. Если я введу в строку набора 200@200.200.200.200 то условно говоря дозвонюсь до Вас (если на Астериске разрешены анонимные звонки и я попаду в нужный контекст). Звонить я буду допустим из-за двух НАТов, и звонок прибежит от 721@100.100.100.100. Не факт, что мне на него можно отзвонить назад.
Но если отзванивать, то никакая база в общем то не при чём. Можно на него звонить вообще без Астериска, с другого такого же софтфона.
Ну а если через *, то надо создать как-то
exten => 721,1,Dial(SIP/721@100.100.100.100)
|
Сообщений: 6
|
Re: Звонок снаружи по SIP URI
Нет, я видимо неправильно объяснил.
звонить НА SIP URI я Астериск уже научил.
Я хочу уметь принимать звонки от пользователей, ЗАРЕГИСТРИРОВАННЫХ на ВНЕШНЕЙ SIP PROXY.
Ну в частности SIPNET.
PC-to-PC звонки меня мало интересуют. Ну высветится при таком звонке что-то кривое , ну и что? Я хочу НОРМАЛЬНО перезванивать на то на что можно.
CGPro это умеет - нормально резолвить адрес звонка. Я понимаю что астериск не сип прокси, но все что мне надо я описал - всего-лишь чтобы он при звонке не подставлял свой IP в From, дальше я скриптами.
|
Откуда: Санкт-Петербург
Сообщений: 541
|
Re: Звонок снаружи по SIP URI
Если надо чтобы подставлялся исходный IP/domain - нужен не астериск.
Если надо чтобы пользователи могли обратно "отзвониться" - попробовать проставить свой префикс в CALLERID(name)/number при входящем звонке (например будет ZXYsbabenkov), а при исходящем - этот префикс отрезать.
|
|