[7920XXXXXXX]
transport=tcp
Пришлось вернуть. Без этого вызовы ходят, но, если звонить наружу и принимающий абонент повесит трубку первым, то на asterisk не приходит BYE. И тут уже поставить/убрать не помогает.
На текущий момент могу сказать, что оно работает. Единственно мне не нравится строка регистрации - убрать бы...
В понедельник попробую вывести в мир с этого транка реальных людей - пусть звонят. Понаблюдаю за результатом.
Это классно!
Но вот какой ИП адрес будет видеть росстелекомовский софтсвич, чтобы слать на него вызов при входящем, если нет регистрации?
Он понятия не имеет об вашем параметре callbackextention
True!
А ещё замечено, что установленный в положение to SIP переключатель в кабинете Мультифона самопроизвольно переключается назад на to PSTN.
И входящие пропадают.
Мы используем скрипт по крону, который посылает туда единичку для удержания положения to SIP через запрос http'шный.
Да, пока искал решение своих проблем, столкнулся и с этим. Но и решение со скриптом тоже много где описано.
В настоящее время еще не разобрался с firewall - тестировал на полном доступе, затем оставил рекомендуемые мегафоном и пошли проблемы. Но была пятница, вечер. сегодня завтра продолжу. Если у кого есть информация, что и для чего нужно открыть буду благодарен. Работает у меня кстати только по tcp, хотя опять же на форуме встречал информацию, что должен по udp, но у меня не пошло.
Asterisk can register as a SIP user agent to a SIP proxy (provider)
Format for the register statement is:
register => [peer?][transport://]user[@domain][:secret[:authuser]]@host[:port][/extension][~expiry]
...
бла-бла-бла
... A similar effect can be achieved by adding a "callbackextension" option in a peer section. this is equivalent to having the following line in the general section:
register => username:secret@host/callbackextension
И далее:
callbackextension=123 ; Register with this server and require calls coming back to this extension
В основном рассуждения, вопрос в конце.
Итого у меня работает, если в [general] строке регистрации я указываю tcp:// и tcpenable=yes
В самом транке могу менять transport. Если ставлю udp(точнее убираю параметр), то:
1. почти вся сигнализация идет по TCP порту 5060.
2. не приходит от мегафона BYE при исходящем вызове, если адресат вешает трубку. Сделал 4 вызова: на астер с отбоем звонящим, на астер с отбоем астером, с астера с отбоем астера, с астера с отбоем внешней стороной. В последнем на астер не пришел BYE. В первом и втором случае(входящий для астера, BYE по UDP в обе стороны), в третьем случае от астера на мегафон пришел по UDP, в четвертом видимо должен был прийти тоже по UDP от мегафона, но не пришел. Если ставлю tcp, то вся сигнализация идет по TCP, включая BYE.
Т.е. делаю вывод, что мегафон не шлет по UDP BYE.
Ладно, пусть будет TCP, не страшно. Но нужно настроить firewall.
По плану это 5060 и 10000-20000. Но в случае, если transport=tcp, астер шлет сигнализацию с портов > 30000. transport=udp шлет с 5060. RTP приходит на порты 10000-20000.
На сайте мегафона: 5060 TCP+UDP (SIP) - для установки голосовых соединений, обмена статусами присутствия и текстовыми сообщениями
>20000 UDP (RTP) – для передачи голоса и видео
Как заставить астер в случае transport=tcp слать сигнализацию по 5060? Пробовал в пире port=5060, в general tcpbindaddr=ip:5060. В строке регистрации 5060 тоже указан. Не принесло результата.
Может что-то не понимаю конечно, но проанализировал уже много чего - прошу помощи.