asterisk realtime - не проходят звонки на sip юзеров
Недавно перешел на RealTime и столкнулся с серьезной проблемой - "залипают" звонки на sip клиентов...
До перехода на realtime все было в порядке. В sip.conf установлен rtcachefriends=yes (пробовал станвить "no" но тогда еще хуже). asterisk 1.8
например --
пользователь 1000 успешно регится и ему можно позвонить Dial(SIP/1000,30)
через некоторое время тот-же Dial(SIP/1000,30) выглядит следующим образом:
в asterisk log 30 секунд висит
-- Calling 1000
и после таймаута вылетает с
-- Nobody picked up in 30000 ms
хотя клиент не звонит...
Судя по debugu происходит следущее:
[2010-12-24 12:30:11] DEBUG[12870] chan_sip.c: ** SIP timers: Rescheduling retransmission 4 to 4000 ms (t1 500 ms (Retrans id #1213))
[2010-12-24 12:30:11] DEBUG[12870] chan_sip.c: Trying to put 'INVITE sip:' onto UDP socket destined for 78.84.202.65:48406
[2010-12-24 12:30:15] DEBUG[12870] chan_sip.c: ** SIP timers: Rescheduling retransmission 5 to 8000 ms (t1 500 ms (Retrans id #1213))
[2010-12-24 12:30:15] DEBUG[12870] chan_sip.c: Trying to put 'INVITE sip:' onto UDP socket destined for 78.84.202.65:48406
ну и если сделать sip show peers то пир виден и у него указан корректный адрес :
1000/nlcyhguv 78.84.202.65 D N 34817 Unmonitored Cached RT
в таблице у него указано nat->yes
Заранее спасибо если у когото есть идеи!
qualify=yes
или требуемый таймаут в мс.
ну вот более менее работает вариант в sip.conf ->
rtcachefriends=yes
rtsavesysname=yes
rtupdate=yes
rtautoclear=yes
но все-равно не так стабильно как без realtime и qualify=yes
N
пробуйте, должно всё работать.
покажите свой конфиг SIP
| Code: |
| [general] context=from-sip allowguest=yes match_auth_username=yes allowoverlap=no allowtransfer=no srvlookup=yes pedantic=no tos_sip=cs3 tos_audio=ef tos_video=af41 tos_text=af41 cos_sip=3 cos_audio=5 cos_video=4 cos_text=3 maxexpiry=3600 minexpiry=60 defaultexpiry=120 mwiexpiry=3600 disallow=all allow=g729 allow=ulaw allow=alaw allow=gsm mohinterpret=default mohsuggest=default language=en relaxdtmf=yes useragent=AsteriskPBX sdpsession=AsteriskPBX promiscredir=no dtmfmode=rfc2833 videosupport=no maxcallbitrate=384 callevents=no alwaysauthreject=yes shrinkcallerid=no allowsubscribe=no subscribecontext=default notifyringing=yes notifyhold=yes notifycid=yes callcounter=yes t38pt_udptl=yes,fec,maxdatagram=400 faxdetect=no nat=yes call-limit=1 canreinvite=no rtcachefriends=yes rtsavesysname=yes rtupdate=yes rtautoclear=yes tcpenable=yes tlsenable=yes tlscertfile=/etc/asterisk/cert.pem tlsdontverifyserver=no tlscipher=DES-CBC3-SHA tlsclientmethod=tlsv1 |
работает более менее нормально но проблема в том что у меня много мобильных юзеров которые периодически отваливаются а астериск об этом не знает и звонит в уже отвалившегося юзера.
у вас все клиенты за натом?
в general допишите qualify=yes
правильно настройте секцию сети.
спасибо за qualify, попробую!