Проблема со звонками. А -> Б работает, Б -> А нет.
Я недавно как начал по глубже изучать Астериск и вот надкнулса на проблему, каторую некак немогу решить сомастаятельно.
Астериск поставлен 1.8.2.2
Находятса за NATом
SIP там простинкии но с MySQL backend.
Extensions тоже нечаго намудренного.
Но вот что видаёт CLI> при звонке с телефона А на телефон Б
Тут все 100% ок и работает
________________________________________________________________________________
== Using SIP RTP CoS mark 5
-- Executing [000001@default:1] Dial("SIP/000000-00000076", "SIP/000001") in new stack
== Using SIP RTP CoS mark 5
-- Called 000001
-- SIP/000001-00000077 is ringing
-- SIP/000001-00000077 answered SIP/000000-00000076
-- Locally bridging SIP/000000-00000076 and SIP/000001-00000077
== Spawn extension (default, 000001, 1) exited non-zero on 'SIP/000000-00000076'
_____________________________________________________________________________
А вот что проесходит если звонить с телефона Б на телефон А
______________________________________________________________________________
== Using SIP RTP CoS mark 5
-- Executing [000000@default:1] Dial("SIP/000001-00000078", "SIP/000000") in new stack
[Jul 12 19:08:35] WARNING[2965]: app_dial.c:2039 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Unknown)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [000000@default:2] Hangup("SIP/000001-00000078", "") in new stack
== Spawn extension (default, 000000, 2) exited non-zero on 'SIP/000001-00000078'
________________________________________________________________________________
И все.
Пробывал менять установки по всякомы, но мои навыки недостаточны.
Надеюсь на совет от людеи по мудрее меня.
П.С.
Извеняюс за мои русскии. Редко ползуюс и почти некогда непишу на русском - забиваю.
sip_nat.conf ...я впервые о таком конф фаиле слишу :/
А транков нету так как ползуюс толко в тестовом режиме. И остолние ползователи великолепно созваниваютса, кроме этих двух
а и мои sip.conf
[general]
srtpcapable=yes
context=default
bindport=5060
bindaddr=0.0.0.0
srvlookup=no
recordhistory=yes
externip=x.x.x.x
localnet=10.8.0.0/255.255.0.0
nat=yes
qualify=yes
;canreinvite=no
directmedia=no
rtcachefriends=yes
allowguest=yes
tlsenable=yes
tlsbindaddr=10.8.0.1
tlsenable=yes
tlscertfile=/.../asterisk.pem
tlscafile=/.../ca.crt
tlscipher=ALL
tlsclientmethod=tlsv1
Но дело в том, что такого фаила у меня даже и нету и небыла.
А ети параметри реално дплжны дублироватса в sip.conf и sip_nat.conf
Added after 1 hours 14 minutes:
Переделал конфиг...добавил сип_нат пересмотрел мануал на http://forums.digium.com/viewtopic.php?t=7854
Резултат тот же... разве что попробывать с нуля конфиг
Я бы попросил человека показать sip show peers, где был бы видет статус соотвествующих девайсов и их описание в sip.conf. Ну и подробней остановится на том, где какой девайс расположен и как подключен.
Last edited by xelas on Wed Jul 13, 2011 10:23
Болшенство softphones ползуютса открытыми WiFi
Один человек сидит дома за своим рутером Netgear WiFi
Звонки между телефонами А и Б работают великолепно: А Б
Звонки между А и В, тоже работают отлично: А В
А вот звонки между Б и В неработают как надо. Б -> В звонки 100% работают. А если звонить В -> Б, то в 90% случаев, невазможно сделать канал. Но примерно каждыи десятыи звонок проходит как надо.
Ето как вообше возможно?
Я в реалном тупике, так как уже все перепроверил, переустраивал по несколко раз. Чуть не паника уже...
| Mateus wrote: |
| Я в реалном тупике, так как уже все перепроверил, переустраивал по несколко раз. Чуть не паника уже... |
У меня аналогичный случай. http://www.asteriskforum.ru/viewtopic.php?t=8602
Причем имею явную зависимость от работы NAT. Если externip не указать, то, хоть это и неправильно, но всё (почти всё) работает. Но если указать реальный внешний адрес - меня все по SIP слышат, а мне в ответ - полная тишина. Как разрулить - не понимаю...
Может так возможно и какраз решить всю эту проблему?
| Mateus wrote: |
| интересно... а если Астериск поставить на наружныи ИП... Может так возможно и какраз решить всю эту проблему? |
Если я ставлю * на наружном IP (средствами роутера) то он работает корректно. И проблем не возникает. Но поставить его "наружным" сервисом я не могу по техническим причинам. Так как есть еще ряд сервисов, развернутых в мей сети и к которым нужен доступ из интернета. Причем такой доступ, чтобы не терялась информация об адресах отправителя пакетов. И как такой редирект возможно сделать средствами iptables? Через -j DNAT? Да еще запущенным в виртуальной машине VirtualBox, в котором почему-то DNAT в гостевой оси не живет?
Added after 3 minutes:
| xelas wrote: |
| мальчики, раздел "Работа" |
А этоть раздел здесь зачем тогда? Голых девок отсуждать или все-таки обсуждать технические проблемы с астериском связанные? Осуждать и искать пути решения я полагаю надо здесь. А если вместо конкретного ответа на поставленный вопрос звучит "найми спеца в разделе работа" то эту конфу следует закрыть.
У меня пока что кажетса что это будет единственным реалным решением.
Потом отпишусь. Небуду процит денги в "работе"
_________________
Успехов!