Страница 1 из 1

Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 28 фев 2021, 13:25
vadosik
Доброго всем дня, незнаю как правильно сформулировать тему. Опишу всё тут.
Мой провайдер SIP телефонии говорит что когда на мой asterisk поступает звонок то он тутже "снимает" трубку, далее передает звонок на мою очередь, и абонент всё это время слышит обычные гудки дозвона. Но есть одна особенность, это то что как только астериск "снимает" трубку, тоесть принимает на транк звонок то он тутже отдаёт провайдеру 200 ОК и начинается тарификация звонка у абонента, и в это же время он передаёт звонок на очередь. Т.е. пока оператор не поднимет трубку абонент вроде в трубке слышит дозвон, но так как оператору уже отправлено 200 ОК, то абонент платит за ожидание. Если может кто встречался с таким, куда залезть где посмотреть? Нужно чтобы 200 ОК отправлялось провайдеру в тот момент когда оператор поднимет трубку.

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 28 фев 2021, 20:24
ded
обычные гудки дозвона = КПВ
Изучите тему Early media или, по-русски - аудио в предответном состоянии.
progressinband = never|no|yes в sip.conf

Принцип работы директивы progressinband в sip.conf заключается в том, что астериск на инвайт отвечает SIP 183 Session Progress c SDP, и это означает что КПВ генерирует сам астериск на этапе раннего аудио, в предответном состоянии, и абонентское устройство лишь проключает медиа и ловит односторонний входящий RTP. Тоны КПВ рулятся в indications.conf. Без этой директивы астериск по дефолту шлет SIP 180 Ringing, и КПВ в данном случае генерирует уже само оконечное абонентское устройство, от которого и пришел вызов.

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 01 мар 2021, 14:14
vadosik
логи сипа показывают что идёт инвайт от оператора, далее формируется 100 Trying, потом 180 Ringing и затем 200 ОК. А трубку так никто ещё и не снял, а у провайдера начинается тарификация когда он получает 200 ОК и получается что абоненты платят даже за ожидание. Тоесть мне нужно отправить 200 ОК провайдеру когда какой-нибдь оператор с очереди поднимит трубку.

Ошибся, перепроверил логи
Получаю Инвайт -> Отправляю 100 Trying -> 200 ОК и только потом идёт отправка на очередь

Незнаю правильно сделал или нет но в extencions-custom.conf добавил все внутренние номера
;*****************************************************************************
; incoming trunc
;*****************************************************************************
[from-pstn-custom]
exten =>_X.,1,Dial(SIP/101,40)

и и теперь шлёт 180 Ringing пока трубку не возьмут

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 01 мар 2021, 18:31
ded
Dial(SIP/101 - это ведь не очередь?
С простой посылкой на экстен будет нормальный ringback и тарификация после поднятия трубку. Но сценарии очередей сразу делают Answer. Надо отказывваться от очередей и переходить на ринг-группы.

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 01 мар 2021, 18:50
vadosik
Да, я так и понял, а как быть например с приветствием или IVR меню, они также дают Answer() и отправляют на провайдера 200 ОК. Я так понимаю этого не избежать?

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 01 мар 2021, 19:55
vadosik
Код: выделить все
252[2021-03-01 17:52:59] VERBOSE[18747][C-000000e1] pbx.c: Executing [100@ext-group:13] Set("SIP/IDC-00000194", "RingGroupMethod=random") in new stack
253[2021-03-01 17:52:59] VERBOSE[18747][C-000000e1] pbx.c: Executing [100@ext-group:14] GotoIf("SIP/IDC-00000194", "0?DIALGRP") in new stack
254[2021-03-01 17:52:59] VERBOSE[18747][C-000000e1] pbx.c: Executing [100@ext-group:15] Answer("SIP/IDC-00000194", "") in new stack


группы тоже дают Answer и затем сразу 200 ОК

Код: выделить все
259<--- Reliably Transmitting (NAT) to 10.55.164.4:5060 --->
260SIP/2.0 200 OK
261Via: SIP/2.0/UDP 10.55.164.4:5060;branch=z9hG4bK7tm3fu2vt9urn477d4mwzw59u;received=10.55.164.4;rport=5060

Re: Точка поднятия трубки asterisk-ом или оператором

СообщениеДобавлено: 02 мар 2021, 10:17
ded
ded писал(а):Изучите тему Early media или, по-русски - аудио в предответном состоянии.


Google => Asterisk+SIP+ Early+media
https://wiki.asterisk.org/wiki/display/ ... pplication