1 | изначальная версия редактировать | |
Есть kamailio+rtpproxy на PU.BL.IC.IP и другой стороной в PR.IV.AT.IP есть asterisk за нат связаны между собой по статье asipto
два клиента с разных сетей (оба сидят за натом) снаружи цепляются к rtpproxy у клиентов имеются
клиент A - A.IP и A.NAT_IP
клиент B - B.IP и B.NAT_IP
в астериске созданы экстеншены на прием голосовой почты и на звонки между абонентами
приступаем к тестированию
Звоним с A и B на voicemail. Результат - слышимость в обе стороны, запись произведена успешно. RTP поток отправялется на PR.IV.AT.IP
Звоним с клиента A на клиента B Результат - RTP пакеты в сторону B отправляются не через RTPPROXY а на B.NAT !!
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
2 | No.2 Revision редактировать |
Есть kamailio+rtpproxy на PU.BL.IC.IP и PU.BL.IC.IP, другой стороной в PR.IV.AT.IP
есть asterisk за нат
связаны между собой по статье asipto
два Два клиента с разных сетей (оба сидят за натом) снаружи цепляются к rtpproxy
у клиентов имеютсяkamailio.
клиент A - A.IP и A.NAT_IP
клиент B - B.IP и B.NAT_IP
в В астериске созданы экстеншены на прием голосовой почты и на звонки между абонентами
приступаем к тестированию
Звоним с A и B на voicemail. Результат - слышимость в обе стороны, запись произведена успешно. RTP поток отправялется на PR.IV.AT.IP
Звоним с клиента A на клиента B Результат - RTP пакеты в сторону B отправляются не через RTPPROXY а на B.NAT !!
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
3 | No.3 Revision редактировать |
Есть kamailio+rtpproxy на PU.BL.IC.IP, другой стороной в PR.IV.AT.IP
есть PR.IV.AT.IP.
Есть asterisk за нат
связаны нат. Kamailio и * cвязаны между собой по статье asipto
Два клиента с разных сетей (оба сидят за натом) снаружи цепляются к kamailio.
клиент A - A.IP и A.NAT_IP
клиент B - B.IP и B.NAT_IP
В астериске созданы экстеншены на прием голосовой почты и на звонки между абонентами
приступаем к тестированию
Звоним с A и B на voicemail. Результат - слышимость в обе стороны, запись произведена успешно. RTP поток отправялется на PR.IV.AT.IP
Звоним с клиента A на клиента B Результат - RTP пакеты в сторону B отправляются не через RTPPROXY а на B.NAT !!
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
4 | No.4 Revision редактировать |
Есть kamailio+rtpproxy на PU.BL.IC.IP, другой стороной в PR.IV.AT.IP.
Есть asterisk за нат. Kamailio и * cвязаны между собой по статье asipto
Два клиента с разных сетей (оба сидят за натом) снаружи цепляются к kamailio.
клиент A - A.IP и A.NAT_IP
клиент B - B.IP и B.NAT_IP
В астериске созданы экстеншены на прием голосовой почты и на звонки между абонентами
приступаем к тестированию
Звоним с A и B на voicemail. Результат - слышимость в обе стороны, запись произведена успешно. RTP поток отправялется на PR.IV.AT.IP
Звоним с клиента A на клиента B Результат - RTP пакеты в сторону B отправляются не через RTPPROXY а на B.NAT !!
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
начал дебажить kamailio на nat traversal
# Caller NAT detection route
route[NATDETECT] {
#!ifdef WITH_NAT
force_rport();
if ( nat_uac_test("19") ) {
if (is_method("REGISTER")) {
fix_nated_register();
xlog('L_INFO','route[NATDETECT] fix_nated_register()');
} else {
fix_nated_contact();
xlog('L_INFO','route[NATDETECT] fix_nated_contact()');
}
setflag(FLT_NATS);
} else {
xlog('L_INFO','route[NATDETECT] NO NAT nat_uac_test("19") is false');
}
#!endif
return;
}
что выяснилось - natuactest("19") не работает так как надо, а именно выдает FALSE для всех абонентов кроме приходящих из сети провайдера (хотя IP глобальный) в ситуации описанной первоначально оба абонента в сети провайдера
5 | No.5 Revision редактировать |
Есть kamailio+rtpproxy на PU.BL.IC.IP, другой стороной в PR.IV.AT.IP.
Есть asterisk за нат. Kamailio и * cвязаны между собой по статье asipto
Два клиента с разных сетей (оба сидят за натом) снаружи цепляются к kamailio.
клиент A - A.IP и A.NAT_IP
клиент B - B.IP и B.NAT_IP
В астериске созданы экстеншены на прием голосовой почты и на звонки между абонентами
приступаем к тестированию
Звоним с A и B на voicemail. Результат - слышимость в обе стороны, запись произведена успешно. RTP поток отправялется на PR.IV.AT.IP
Звоним с клиента A на клиента B Результат - RTP пакеты в сторону B отправляются не через RTPPROXY а на B.NAT !!
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to B.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001250, ts 2972880, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049499, ts 2972880, len 000160)
Got RTP packet from PR.IV.AT.IP:54352 (type 00, seq 001251, ts 2973040, len 000160)
Sent RTP packet to A.NAT_IP:42450 (type 00, seq 049500, ts 2973040, len 000160)
начал дебажить kamailio на nat traversal
# Caller NAT detection route
route[NATDETECT] {
#!ifdef WITH_NAT
force_rport();
if ( nat_uac_test("19") ) {
if (is_method("REGISTER")) {
fix_nated_register();
xlog('L_INFO','route[NATDETECT] fix_nated_register()');
xlog('L_INFO',"route[NATDETECT] fix_nated_register() $rm from $fu (IP:$si:$sp)\n");
} else {
fix_nated_contact();
xlog('L_INFO','route[NATDETECT] fix_nated_contact()');
xlog('L_INFO',"route[NATDETECT] fix_nated_contact() $rm from $fu (IP:$si:$sp)\n");
}
setflag(FLT_NATS);
} else {
xlog('L_INFO','route[NATDETECT] NO NAT nat_uac_test("19") is false');
xlog('L_INFO',"route[NATDETECT] NO NAT nat_uac_test(\"19\") is false. $rm from $fu (IP:$si:$sp)\n");
}
#!endif
return;
}
что выяснилось - natuactest("19") не работает так как надо, а именно выдает FALSE для всех абонентов кроме приходящих из сети провайдера (хотя IP глобальный) в ситуации описанной первоначально оба абонента в сети провайдера
вот лог камалио с неправильным rtp
Sep 4 21:43:39 localhost /usr/local/sbin/kamailio[6439]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. REGISTER from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:39 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. REGISTER from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:45 localhost /usr/local/sbin/kamailio[6441]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. REGISTER from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:45 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. REGISTER from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:50 localhost /usr/local/sbin/kamailio[6439]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. INVITE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. INVITE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. INVITE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. INVITE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6426]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6426]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6427]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6427]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6427]: NOTICE: acc [acc.c:279]: acc_log_request(): ACC: transaction answered: timestamp=1378316632;method=INVITE;from_tag=f95c8372;to_tag=as7ee14b69;call_id=MjA1NjU4YmM0YzcwMzhiM2VkNjhjNTRjYTIyODVmZjg.;code=200;reason=OK;src_user=mylogin;src_domain=sipp.xxx.ru;src_ip=176.83.127.50;dst_ouser=599045;dst_user=599045;dst_domain=sipp.xxx.ru
Sep 4 21:43:52 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. INVITE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6425]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6425]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. ACK from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6440]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6439]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. ACK from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6439]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6439]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. ACK from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATMANAGE] #1
Sep 4 21:43:53 localhost /usr/local/sbin/kamailio[6438]: INFO: <script>: route[NATMANAGE] #2
Sep 4 21:43:55 localhost /usr/local/sbin/kamailio[6441]: INFO: <script>: route[NATDETECT] NO NAT nat_uac_test("19") is false. BYE from sip:mylogin@sipp.xxx.ru:6000;transport=UDP (IP:176.83.127.50:53257)
Sep 4 21:43:55 localhost /usr/local/sbin/kamailio[6426]: NOTICE: acc [acc.c:279]: acc_log_request(): ACC: transaction answered: timestamp=1378316635;method=BYE;from_tag=f95c8372;to_tag=as7ee14b69;call_id=MjA1NjU4YmM0YzcwMzhiM2VkNjhjNTRjYTIyODVmZjg.;code=200;reason=OK;src_user=mylogin;src_domain=sipp.xxx.ru;src_ip=176.83.127.50;dst_ouser=599045;dst_user=599045;dst_domain=192.168.30.1
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.