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

Приходят кривые Event при использовании dial

СообщениеДобавлено: 15 окт 2018, 13:06
pavelbek
Приветствую вас, коллеги.

Может быть кто то сталкивался. Использую модуль http://www.voipsupport.it/wiki/index.ph ... 13_support

При совпадении приходит в контекст

[wait_context]
exten => s,1,Dial(SIP/${dynroute},20)
exten => s,2,Goto(ext-queues,678,1)

С точки зрения телефонии все работает нормально. Звонки приходят, если внутренний не отвечает то звонит на очередь.

При начале звонка вижу 2 эвента. В эвенте или внешний номер звонящего или номер внутреннего

newchannel
Array
(
[Event] => Newchannel
[Privilege] => call,all
[Channel] => SIP/Mobile-Tele2-00000050
[ChannelState] => 0
[ChannelStateDesc] => Down
[CallerIDNum] => 7*****1005 ### номер немножко спрятал. Тут номер звонящего
[CallerIDName] => 7******1005 ### номер немножко спрятал. Тут номер звонящего
[ConnectedLineNum] => <unknown>
[ConnectedLineName] => <unknown>
[Language] => en
[AccountCode] =>
[Context] => custom-get-did-from-rpid
[Exten] => s
[Priority] => 1
[Uniqueid] => 1539250090.94
[Linkedid] => 1539250090.94
)
newchannel
Array
(
[Event] => Newchannel
[Privilege] => call,all
[Channel] => SIP/1005-00000051
[ChannelState] => 0
[ChannelStateDesc] => Down
[CallerIDNum] => 1005 #### Внутренний номер куда распределился звонок.
[CallerIDName] => 1005 ##### Внутренний номер куда распределился звонок
[ConnectedLineNum] => <unknown>
[ConnectedLineName] => <unknown>
[Language] => en
[AccountCode] =>
[Context] => from-internal
[Exten] => s
[Priority] => 1
[Uniqueid] => 1539250093.95
[Linkedid] => 1539250090.94
)

Что я сделал в контексте не так, что я не могу получить данные о звонке в одном эвенте?

Я обычно открывал карточку клиента на основании данных из эвентов. По окончании звонка евент содержит данные все нужные данные


[CallerIDNum] => 7*****1005 ### номер немножко спрятал. Тут номер звонящего
[CallerIDName] => 7*****1005 ### номер немножко спрятал. Тут номер звонящего
[ConnectedLineNum] => 1005 #### Внутренний номер куда распределился звонок.
[ConnectedLineName] => 1005 #### Внутренний номер куда распределился звонок.

Re: Приходят кривые Event при использовании dial

СообщениеДобавлено: 15 окт 2018, 13:55
ded
Автоматизированные звонки - более сложная конструкция, чем просто абонент 1005 позвонил через шлюз SIP/Mobile-Tele на номер 7*****1005 ### номер я тоже немножко спрятал.
При использовании автоматизации через call files, команду originate или посылку эвента через AMI происходит следующее:
вызывается один канал, по событию Answer на нём начинает вызываться второй канал, они бриджуются. Так что в один эвент вам не удастся затолкать это.

Re: Приходят кривые Event при использовании dial

СообщениеДобавлено: 17 окт 2018, 13:18
pavelbek
Добрый день. Я не использую call files, команду originate или посылку эвента через AMI.

Я делаю распределение звонка через контекст. И слушаю эвенты и делаю на основании этих событий, что нибудь.

Пожалуйста, уточните если я не понятно написал. Я исправлюсь.

Re: Приходят кривые Event при использовании dial

СообщениеДобавлено: 17 окт 2018, 14:42
ded
Уточняю: получить данные о звонке в одном эвенте в принципе невозможно, ибо это разные эвенты:
1. Звонок поступил на станцию и ещё не поступил никуда, ни в какую очередь, не принят никаким оператором
2. звонок поступил в очередь ХХХ которая ещё не вытолкнула его никакому оператору.
3. ответил оператор №111

С точки зрения транзакций - вся эта цепочка событий - незавершённая транзакция, которая завершается Hangup со стороны звонящего или оператора, куда распределился звонок. И только в завершённой транзакции будут данные о звонке. Поэтому
pavelbek писал(а):По окончании звонка евент содержит данные все нужные данные