#557 closed баг (invalid)
Не инициируется отправка команды ГБ при вызове абонента в конференцию
Reported by: | viktam | Owned by: | alx |
---|---|---|---|
Priority: | major | Milestone: | 1 очередь |
Component: | ПО MC04-Dispatcher. Пульт диспетчера/техника | Keywords: | |
Cc: | san |
Description
У пользователя Витебск-1(2710@) настроена функция ГБ
В настройках программы таймаут на включение ГБ установлен в значение 2 или 3 секунды. (настройка Конференции->Ожидание ответа перед включением ГБ)
При использовании старой версии ПО MC04_Dispatcher функция ГБ работала, а в новой нет поэтому было проведено два эксперимента: 1-й в r530 ПО и 2-й в r804:
эксперимент 1 (r530)
- Техник(2@) вызвал пользователя Витебск-1(2710@) в конференцию.
- Пользователь услышал вызывной сигнал телефона, затем через несколько секунд сигнал ГБ, после чего поднял трубку.
эксперимент 2 (r804)
- Техник(2@) вызвал пользователя Витебск-1(2710@) в конференцию.
- Пользователь услышал вызывной сигнал телефона, затем ждал порядка 20 секунд но так и не услышал сигнал ГБ.
Attachments (2)
Change History (11)
by , 8 years ago
Attachment: | exp1_r530_logs.zip added |
---|
by , 8 years ago
Attachment: | exp2_r804_debug2017-04-27.zip added |
---|
comment:1 by , 8 years ago
Cc: | added |
---|
follow-up: 3 comment:2 by , 8 years ago
comment:3 by , 8 years ago
Resolution: | → invalid |
---|---|
Status: | new → closed |
Replying to san:
приложил файлы логов от экспериментов
В приложенном файле эксперимента 2 я вижу вызов пользователя 2710@192.168.114.15: в 15:47:53.612 и в конференцию "conf-1". Команда вызова, переданная в FS, следующая:
originate {originate_timeout=120,origination_caller_id_name='conf-1',origination_caller_id_number=conf-1}[api_hangup_hook='originate loopback/2710@192.168.114.15/answered 0',origination_uuid=be0f71e9-8922-4e66-97c7-35743957baac]user/2710@192.168.114.15,[leg_delay_start=3]loopback/2710@192.168.114.15/alarm conf-1 XML conference
В этой команде присутствует следующий компонент: [leg_delay_start=3]loopback/2710@192.168.114.15/alarm
, что означает "вызвать 2710@192.168.114.15 в контексте alarm с задержкой 3 секунды". Вызов в контексте alarm как раз и включает сигнал "Громкого боя".
Таким образом, команда на включение "Громкого боя" пультом отправлялась, неотправка команды логом работы программы не подтверждается. Нарушений в работе пульта не вижу.
follow-up: 5 comment:4 by , 8 years ago
[leg_delay_start=3]loopback/2710@192.168.114.15/alarm
Нашёл разницу - в r530 в этом компоненте не указывался домен [leg_delay_start=3]loopback/2710/alarm
И записи в БД(настройки ГБ пользователей) этой программой сделаны без учёта домена db insert/alarms/<юзернэйм без домена>/<oid>
Из лога FS:
при вызове с помощью r804 в переменной ${destination_number} содержится и домен, поэтому при проверке exists/alarms/${destination_number
} в БД не находится соответствующей записи.
2017-05-03 15:28:01.009455 [INFO] mod_dialplan_xml.c:637 Processing 0 <0>->2702@192.168.0.74 in context alarm 2017-05-03 15:28:01.009455 [DEBUG] mod_loopback.c:661 CHANNEL CONSUME_MEDIA 2017-05-03 15:28:01.009455 [DEBUG] switch_core_state_machine.c:662 (loopback/2702@192.168.0.74-a) State CONSUME_MEDIA going to sleep Dialplan: loopback/2702@192.168.0.74-b parsing [alarm->Alarm] continue=false Dialplan: loopback/2702@192.168.0.74-b Regex (FAIL) [Alarm] ${db(exists/alarms/${destination_number})}(false) =~ /^true$/ break=on-false
Алексей, поправь пожалуйста, если я ошибся в терминологии или выводах :)
comment:5 by , 8 years ago
Replying to san:
Алексей, поправь пожалуйста, если я ошибся в терминологии или выводах :)
С терминологией вроде бы все в порядке. А каковы выводы?
follow-up: 7 comment:6 by , 8 years ago
выводы
Функция ГБ в эксперименте2 "не сработала" т.к. в БД занесены записи без указания домена.
comment:7 by , 8 years ago
Replying to san:
Функция ГБ в эксперименте2 "не сработала" т.к. в БД занесены записи без указания домена.
Так об этом надо спрашивать не меня, а Витю, :) я не знаю, что у него занесено в БД...
Я могу сказать, что твой вывод очень правдоподобен, учитывая что я, скорее всего, никому не говорил о том, что надо изменить ключи при конфигурации "громкого боя", и описание на wiki-страничке не поправил... Виноват...
comment:8 by , 8 years ago
Я так понимаю что изменения ключей связаны с #182 ?
И ещё, подскажи можно ли поправить конфиг, чтобы не пришлось изменять записи в БД для случая работы в одном домене? Например, можно сюда <condition field="${db(exists/alarms/${destination_number})}" expression="^true$">
вместо ${destination_number} вставить только его часть до @ ? и как?
comment:9 by , 8 years ago
Сам отвечаю на последнее, можно использовать в проверке только часть ${destination_number} до символа @, например так:
<condition field="${db(exists/alarms/${regex(${destination_number}|^(.*)@(.*)$|%1)})}" expression="^true$">
приложил файлы логов от экспериментов