ВидеоКонф(ВКС)  ::   Чат  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

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

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модератор: april22

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

Сообщение vadosik » 28 фев 2021, 13:25

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

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

Сообщение ded » 28 фев 2021, 20:24

обычные гудки дозвона = КПВ
Изучите тему Early media или, по-русски - аудио в предответном состоянии.
progressinband = never|no|yes в sip.conf

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

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

Сообщение vadosik » 01 мар 2021, 14:14

логи сипа показывают что идёт инвайт от оператора, далее формируется 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 пока трубку не возьмут
vadosik
 
Сообщений: 10
Зарегистрирован: 26 ноя 2020, 00:54

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

Сообщение ded » 01 мар 2021, 18:31

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

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

Сообщение vadosik » 01 мар 2021, 18:50

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

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

Сообщение vadosik » 01 мар 2021, 19:55

Код: выделить все
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
vadosik
 
Сообщений: 10
Зарегистрирован: 26 ноя 2020, 00:54

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

Сообщение ded » 02 мар 2021, 10:17

ded писал(а):Изучите тему Early media или, по-русски - аудио в предответном состоянии.


Google => Asterisk+SIP+ Early+media
https://wiki.asterisk.org/wiki/display/ ... pplication
ded
 
Сообщений: 15246
Зарегистрирован: 26 авг 2010, 19:00


Вернуться в Вопросы новичков

Кто сейчас на форуме

Сейчас этот форум просматривают: Google [Bot] и гости: 13

© 2008 — 2022 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH