Реализация донабора. Прошу помощи
Я совсем новичек и только начинаю изучение астериска.
Руководство поставило задачу суть которой в следующем:
требуется чтобы при звонке с городского (сотового) номера на астериск звонящему воспроизводилось меню вида:
1. если хотите позвонить в Красноярск нажмите 1
2. если хотите позвонить в Москву нажмите 2
и т.д.
после нажатия соответствующей кнопки астериск должен перенаправить абонента на соответствующий добавочный номер (код внутренней сети), и уже после этого звонящий набирает номер абонента того филиала в который он звонит.
если не сложно помогите или укажите в каком направлении искать
заранее спасибо!
http://asterisk.ru/store/files/Asterisk_RU_OReilly_DRAFT.pdf
может это должно выглядеть так:
exten=>444444,1,Answer()
exten=>444444,n,Background(hello)
exten=>444444,n,WaitExten()
exten=>1,1,Dial(SIP/код филиалаZZZZ)
exten=>1,n,PlayBack(waiting)
exten=>1,n,Hangup()
извиняюсь если спрашиваю совсем уж простые вещи, но я действительно совсем недавно столкнулся с IP-телефонией.
Для внутренних номеров, такая схема работает
| Code: |
| exten => 999,1,Answer() exten => 999,n,Background(demo-moreinfo) exten => 999,n,WaitExten() exten => 1,1,Playback(digits/1) exten => 1,n,Dial(SIP/9999) |
А если приходит звонок из мира, слышно background и все
| Code: |
| exten => хххххх,1,Answer() exten => хххххх,n,Background(demo-moreinfo) exten => хххххх,n,WaitExten() exten => 1,1,Playback(digits/1) exten => 1,n,Dial(SIP/999) ;звоним на внутренний номер |
Может это из-за того, что городской и внутренний номер определены в разных контекстах? Хотя до звонка дело не доходит, так как цифру один не проигрывает
| Iliya wrote: |
| извиняюсь если спрашиваю совсем уж простые вещи, но я действительно совсем недавно столкнулся с IP-телефонией. |
Попробуйте приложение Goto()
Goto() - Переход на указанный приоритет, екстеншен или контекст
| kernelt wrote: |
| А если приходит звонок из мира, слышно background и все |
Смотри в сторону хождения DTMF...
| kernelt wrote: |
| Может это из-за того, что городской и внутренний номер определены в разных контекстах? Хотя до звонка дело не доходит, так как цифру один не проигрывает |
| Code: |
| core set verbose 3 |
| Code: |
| *CLI> core set verbose 3 Verbosity is at least 3 -- Executing [ххххххх@ХХХ:1] Answer("SIP/ХХХ-00000000", "") in new stack -- Executing [ххххххх@ХХХ:2] BackGround("SIP/ХХХ-00000000", "demo-moreinfo") in new stack -- Playing 'demo-moreinfo' (language 'en') -- Executing [ххххххх@ХХХ:3] WaitExten("SIP/ХХХ-00000000", "") in new stack [Aug 22 16:57:07] WARNING[19173]: pbx.c:5679 pbx_builtin_waitexten: Timeout but no rule 't' in context 'ХХХ' == Spawn extension (ХХХ, ххххххх, 3) exited non-zero on 'SIP/ХХХ-00000000' |
Кидает timeout, хотя цифру 1 я нажимал (конфиг приведен в сообщении этой темы от Ср Авг 18, 2010 19:37)
Added after 1 minutes:
кстати, какова схема входящего с тфоп вызова?
| zlat wrote: |
| в logger.conf включите dtmf в консоль или в full и смотрите |
| Code: |
| -- Executing [11001@office:1] Answer("SIP/11001-00000002", "") in new stack -- Executing [11001@office:2] BackGround("SIP/11001-00000002", "demo-moreinfo") in new stack -- Playing 'demo-moreinfo' (language 'en') [Aug 23 11:39:42] DTMF[21038]: channel.c:2449 __ast_read: DTMF begin '1' received on SIP/11001-00000002 [Aug 23 11:39:42] DTMF[21038]: channel.c:2453 __ast_read: DTMF begin ignored '1' on SIP/11001-00000002 [Aug 23 11:39:42] DTMF[21038]: channel.c:2368 __ast_read: DTMF end '1' received on SIP/11001-00000002, duration 160 ms [Aug 23 11:39:42] DTMF[21038]: channel.c:2434 __ast_read: DTMF end passthrough '1' on SIP/11001-00000002 == CDR updated on SIP/11001-00000002 -- Executing [1@office:1] Playback("SIP/11001-00000002", "digits/1") in new stack -- Playing 'digits/1' (language 'en') -- Executing [1@office:2] Dial("SIP/11001-00000002", "SIP/11001") in new stack -- Called 11001 -- SIP/11001-00000003 is ringing == Spawn extension (office, 1, 2) exited non-zero on 'SIP/11001-00000002' |
А вот при звонке из вне ноль, реакции
| Code: |
| -- Executing [xxxxxxx@XXX:1] Answer("SIP/XXX-00000000", "") in new stack -- Executing [xxxxxxx@XXX:2] BackGround("SIP/XXX-00000000", "demo-moreinfo") in new stack -- Playing 'demo-moreinfo' (language 'en') -- Executing [xxxxxxx@XXX:3] WaitExten("SIP/XXX-00000000", "") in new stack == Spawn extension (XXX, xxxxxxx, 3) exited non-zero on 'SIP/XXX-00000000' |
| zlat wrote: |
| кстати, какова схема входящего с тфоп вызова? |
Added after 1 minutes:
может проблема даже не в вашей стороне, а пров не пропускает
в крайнем случае пускай пров снимает дебаг на своей аппаратуре и смотрит что и как