SIP Redirect server
От: Brovi  
Дата: 14.02.06 10:56
Оценка:
Доброго времени суток, коллеги!

Может кому удалось реализовать SIP Redirect server?
Я что-то закопался. Структура сети: есть 2 телефона, каждый соединен с LAN через Зикселевский "VoIP Analog Telephone Adaptor". в сети есть машина с моим редирект-сервером. Цель-звонок по LAN с одного телефона на другой через мой редирект-сервер.
Вот, что получается:


набираю номер телефона 563298. Зиксель этого телефона шлет на мой редирект-сервер запрос INVITE:

INVITE sip:563298@dm SIP/2.0
Via: SIP/2.0/UDP 100.0.1.252:5060;branch=z9hG4bKa50e9f58b557c767
Max-Forwards: 70
To: <sip:563298@dm>
From: <sip:anonymous@localhost>;tag=xIzMykDMxID
Call-ID: 135D911121E1212@100.0.1.252
CSeq: 1 INVITE
Contact: <sip:100.0.1.252:5060>
Session-Expires: 180;refresher=uac
Supported: timer
Remote-Party-ID: <sip:alex@dm>;privacy=full
Proxy-Require: privacy
Content-Type: application/sdp
Content-Length: 240

v=0
o=anonymous 0 0 IN IP4 100.0.1.252
s=-
c=IN IP4 100.0.1.252
t=0 0
m=audio 50002 RTP/AVP 0 18 100
a=rtpmap:0 PCMU/8000
a=sendrecv
a=rtpmap:18 G729/8000
a=sendrecv
a=ptime:20
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15


В ответ мой редирект-сервер шлет вызывавшему Зикселю "Moved temporarily" c реальным адресом искомого номера:

SIP/2.0 302 Moved temporarily
Via: SIP/2.0/UDP 100.0.1.252:5060;branch=z9hG4bKa50e9f58b557c767
Max-Forwards: 70
To: <sip:563298@dm>
From: <sip:anonymous@localhost>;tag=xIzMykDMxID
Call-ID: 135D911121E1212@100.0.1.252
CSeq: 1 INVITE
Contact: <sip:100.0.1.253:5060>


Вызывающий Зиксель принимает параметры искомого телефона, которые редирект-сервер ему подсунул:

ACK sip:563298@dm SIP/2.0
Via: SIP/2.0/UDP 100.0.1.252:5060;branch=z9hG4bKa50e9f58b557c767
Max-Forwards: 70
To: <sip:563298@dm>
From: <sip:anonymous@localhost>;tag=xIzMykDMxID
Call-ID: 135D911121E1212@100.0.1.252
CSeq: 1 ACK
Content-Length: 0


По-идее, он теперь должен слать INVITE по полученному адресу (100.0.1.253:5060), по которому находится его искомый клиент с номером 563298. Но он вновь шлет INVITE по адресу редирект-сервера, будто тот не редирект-сервер, а прокси(хотя прокси в настройках Зикселя отрублен). И добавляет еще одно поле Via(себя-же):

INVITE sip:100.0.1.253:5060 SIP/2.0
Via: SIP/2.0/UDP 100.0.1.252:5060;branch=z9hG4bK580a2d366c42fa60
Via: SIP/2.0/UDP 100.0.1.252:5060;branch=z9hG4bKa50e9f58b557c767
Max-Forwards: 70
To: <sip:563298@dm>
From: <sip:anonymous@localhost>;tag=xIzMykDMxID
Call-ID: 135D911121E1212@100.0.1.252redirect
CSeq: 2 INVITE
Contact: <sip:100.0.1.252:5060>
Session-Expires: 180;refresher=uac
Supported: timer
Remote-Party-ID: <sip:alex@dm>;privacy=full
Proxy-Require: privacy
Content-Type: application/sdp
Content-Length: 240

v=0
o=anonymous 0 0 IN IP4 100.0.1.252
s=-
c=IN IP4 100.0.1.252
t=0 0
m=audio 50002 RTP/AVP 0 18 100
a=rtpmap:0 PCMU/8000
a=sendrecv
a=rtpmap:18 G729/8000
a=sendrecv
a=ptime:20
a=rtpmap:100 telephone-event/8000
a=fmtp:100 0-15


может кто-то понимает, что я не так подсунул вызывающему, или все-же что-то в настройках Зикселя недоглядел?
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.