Обнаружение нескольких ключей в confbridge asterisk 11

Как я могу обнаружить несколько ключей в конференции в приложении confbridge. Прямо сейчас я могу обнаружить только одну цифру ключа. Как я могу определить 2-значное или 3-значное число, например, 45 или 454. Пожалуйста, помогите мне.

Спасибо


person Anil agrahari    schedule 19.02.2014    source источник
comment
Когда вы говорите «обнаружение нескольких ключей», вы имеете в виду через конфигурацию ConfBridge для меню DTMF во время конференции? Или у вас есть клиент AMI, который пытается прослушивать события AMI DTMF?   -  person Matt Jordan    schedule 19.02.2014
comment
да, я хочу выполнить действие диалплана через конфигурацию Confbridge для меню DTMF во время конференции, если кто-то нажмет 45 или 56.   -  person Anil agrahari    schedule 20.02.2014


Ответы (2)


Вы можете обнаружить 4, записать это обнаружение, обнаружить следующую цифру (5), записать ее снова.

Делайте это столько раз, сколько вам нужно.

person arheops    schedule 19.02.2014
comment
Он имеет в виду DTMF-меню конференции в ConfBridge. В этом случае нет ничего, что можно было бы использовать для «записи DTMF», так как вся обработка DTMF и сопоставление его с действием в конференции происходит в самом приложении. - person Matt Jordan; 21.02.2014
comment
Нет. Это позволяет использовать некоторый контекст, см. документы. В этом контексте вы можете записать действие и вернуться обратно в conf. Я уверен, я сделал действие, как описано. - person arheops; 21.02.2014

Да, вполне возможно иметь меню DTMF, которые запускаются на основе нескольких нажатий клавиш DTMF.

Пример:

[general]

[user_profile]
type = user
admin = no
pin = 1111
marked = yes
startmuted = no
announce_user_count = yes
announce_user_count_all = 1
announce_join_leave = yes

[user_menu]
type = menu
1 = toggle_mute
201 = leave_conference

[default_bridge]
type = bridge

[default_user]
type = user

В этом фрагменте журнала вы можете увидеть, как пользователь нажал «201», чтобы покинуть конференцию:

[Feb 21 22:28:16] VERBOSE[18929][C-00000001] pbx.c:     -- Executing [user_profile@confbridge:1] NoOp("SIP/ast2_g722-00000001", "") in new stack
[Feb 21 22:28:16] VERBOSE[18929][C-00000001] pbx.c:     -- Executing [user_profile@confbridge:2] ConfBridge("SIP/ast2_g722-00000001", "1,,user_profile,user_menu") in new stack
[Feb 21 22:28:26] VERBOSE[18929][C-00000001] file.c:     -- <SIP/ast2_g722-00000001> Playing 'conf-onlyone.gsm' (language 'en')
[Feb 21 22:28:47] VERBOSE[18929][C-00000001] file.c:     -- <SIP/ast2_g722-00000001> Playing 'confbridge-join.gsm' (language 'en')
[Feb 21 22:28:48] VERBOSE[18929][C-00000001] file.c:     -- <Bridge/0x7fb3bc004528-input> Playing 'confbridge-join.gsm' (language 'en')
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '2' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin passthrough '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '2' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end accepted with begin '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '2' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '0' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin ignored '0' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '0' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '0' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin '1' received on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF begin ignored '1' on SIP/ast2_g722-00000001
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end '1' received on SIP/ast2_g722-00000001, duration 100 ms
[Feb 21 22:28:53] DTMF[18929][C-00000001] channel.c: DTMF end passthrough '1' on SIP/ast2_g722-00000001
[Feb 21 22:28:55] VERBOSE[18929][C-00000001] file.c:     -- <Bridge/0x7fb3bc004528-input> Playing 'conf-hasleft.gsm' (language 'en')
[Feb 21 22:28:57] VERBOSE[18929][C-00000001] file.c:     -- <Bridge/0x7fb3bc004528-input> Playing 'confbridge-leave.gsm' (language 'en')
[Feb 21 22:28:58] VERBOSE[18929][C-00000001] pbx.c:     -- Executing [user_profile@confbridge:3] Hangup("SIP/ast2_g722-00000001", "") in new stack
person Matt Jordan    schedule 22.02.2014