внутренний абонент * при вызове номера PSTN, через sip-провайдера не слышит несколько первых секунд начала разговора (5-10)
tcpdump показал, что происходит следущее:
ast --> INVITE --> prov ast --> INVITE --> prov ast --> ASK --> prov ....... ast --> INVITE --> prov 4-8 раз (на это уходит 6-11 с) ast --> ASK --> prov prov --> SIP/2.0 200 OK --> ast
тут слышим "але-але" возмущенного вызываемого абонента
если соединяться с этим провайдером прямо софтофоном, или телефоном -- все ОК.
Понятно, что * не получает от провайдера ожидаемые ответы, для такого соединения:
5.16.10 SIP User Agent Session Setup to a PSTN Destination Calling Egress Terminating UA SIP GW Network ------------>------------> INVITE IAM <----------- 100 Trying <-----------<------------ 183 Session ACM Progress Session: Media One way SDP <======================== One way voice path <-----------<------------ 200 OK ANM ------------> ACK <======================== Two Way Voice Path <-----------<------------ BYE REL ------------> RLC ------------> 200 OK
Т.е. со стороны провайдера нет ни 100 ни 183. А 200 ОК -- приходит поздно, когда вызываемая сторона уже успела наговорить в трубку
Вопросы:
Ситуация усугубляется тем, что данный оператор -- для этой услуги говорит пользоваться Zoiper и X-Lite -- с ними все работает ОК. Но хочется же * подключить!!! Короче ситуация напоминает ранний "Мультифон" когда было много туману, но теперь уже у них на сайте настройки для всего и * тоже ;-)
Заранее признателен
Аналогичные симптомы можно получить при отсутствии кеширующего DNS для астериска.
Советую проверить externip в sip.conf
Единственное, что приходит на ум, в диалплане, перед строкой Dial попробуйте поставить Answer ()
Докладываю сообществу, что в пропаже ответа "183 Session..." был виноват файрвол мего хостинг-провайдера. Те без файрвола пакет стал ко мне доходить. А хостинг-провайдер ответил, что все одно файрвол не настроен и без него тебе будет лучше ;-)
Те. бывает и так
это джитер буффер между астериском и вашим телефоном и астериском и провайдером. в случае с астериском он двойной. илил отключить джитербуффер или ответить звонок перед звонком провайдера. вот так гдето
exten => _X.,1,Answer
exten => _X.,2,Playback(silence/1)
exten => _X.,3,Dial(SIP/provider/${EXTEN})
вторая строчка вызовет все эти переходные еффекты ДО звонка.можно beep посылать..
Задан: 2011-04-27 12:38:01 +0400
Просмотрен: 1,574 раз
Обновлен: May 31 '11
Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании
Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией
GNU GPL.