Пожалуйста, войдите здесь. Часто задаваемые вопросы О нас
Задайте Ваш вопрос

И сново про донабор

0

Привет, Ситуация следующая: есть dvg6008s на последней прошивке. В DTMF стоит info. В sip.conf asterisk стоит следующее:

[general]

bindport=5060
bindaddr=0.0.0.0
callevents=yes
language=ru
context=office


[dlink]
type=friend
host=dynamic
username=dlink
secret=123456
context=input
disallow=all
allow=ulaw
allow=alaw
qualify=yes
canreinvite=no
nat=no
dtmfmode=info

в extensions.conf

static=yes
writeprotect=yes
autofallthrough=yes
clearglobalvars=no
priorityjumping=no
faxdetect=yes
[office]
exten => _[1-7]XXX,1,Dial(SIP/${EXTEN},${DIALTIMEOUT},t)
exten => _[1-7]XXX,n,Hangup()
[input]

exten => s,1,GoTo(input,incoming,1)

exten => incoming,1,Answer
exten => incoming,n,Background(welcome-new)
exten => incoming,n,Dial(SIP/${SECRETARY1},${DIALTIMEOUT})
exten => incoming,n,PlayBack(welcome-timeout-new)
exten => incoming,n,Hangup()

exten => _[1-7]XXX,1,GoTo(office,${EXTEN})

При звонке и попытке донабрать номер 2402 вижу следующщее и донабор не происходит, в чем проблема?

-- Executing [incoming@input:1] Answer("SIP/dlink-000035cf", "") in new stack
    -- Executing [incoming@input:2] BackGround("SIP/dlink-000035cf", "welcome-new") in new stack
    -- <SIP/dlink-000035cf> Playing 'welcome-new.slin' (language 'ru')
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4069 __ast_read: DTMF end '2' received on SIP/2402-000035cd, duration 240 ms
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4139 __ast_read: DTMF end passthrough '2' on SIP/2402-000035cd
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/2402-000035cd, duration 240 ms
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/2402-000035cd
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4069 __ast_read: DTMF end '0' received on SIP/2402-000035cd, duration 240 ms
[Mar  4 15:24:50] DTMF[32685][C-00001d69]: channel.c:4139 __ast_read: DTMF end passthrough '0' on SIP/2402-000035cd
[Mar  4 15:24:51] DTMF[32685][C-00001d69]: channel.c:4069 __ast_read: DTMF end '2' received on SIP/2402-000035cd, duration 240 ms
[Mar  4 15:24:51] DTMF[32685][C-00001d69]: channel.c:4139 __ast_read: DTMF end passthrough '2' on SIP/2402-000035cd
[Mar  4 15:24:51] DTMF[32685][C-00001d69]: channel.c:4069 __ast_read: DTMF end '#' received on SIP/2402-000035cd, duration 240 ms
[Mar  4 15:24:51] DTMF[32685][C-00001d69]: channel.c:4139 __ast_read: DTMF end passthrough '#' on SIP/2402-000035cd
удалить закрыть спам изменить тег редактировать

спросил 2014-03-04 16:41:09 +0400

gramadzjanin Gravatar gramadzjanin
1 6 3

обновил 2014-03-04 16:43:40 +0400

Comments

добавить WaitExten(1) не пробовали?

Zavr2008 ( 2014-03-04 19:31:13 +0400 )редактировать

3 Ответа

0
[office]
exten => 2412,1,Answer
exten => 2412,n,Background(welcome-new)
exten => 2412,n,Read(num)
exten => 2412,n,GoTo(${num})
exten => 2412,n,Dial(SIP/2404,${DIALTIMEOUT})
exten => 2412,n,PlayBack(welcome-timeout-new)
exten => 2412,n,Hangup()

Звоню с внутреннего, все ок, работает как задумано.

[input]
exten => s,1,GoTo(input,2412,1)

exten => 2412,1,Answer
exten => 2412,n,Background(welcome-new)
exten => 2412,n,Read(num)
exten => 2412,n,GoTo(${num})
exten => 2412,n,Dial(SIP/2404,${DIALTIMEOUT})
exten => 2412,n,PlayBack(welcome-timeout-new)
exten => 2412,n,Hangup()

Не работает, dtmf в cli астера видны, но принятие не происходит. Иногда вообще происходит чушь. Звоню на городской с внутреннего и начинается проигрывание приветствия, после этого пытаюсь донабрать номер 2404 и вижу следующее:

 == Using SIP RTP CoS mark 5
    -- Executing [incoming@input:1] Answer("SIP/cityline6-00003870", "") in new stack
    -- Executing [incoming@input:2] BackGround("SIP/cityline6-00003870", "welcome-new") in new stack
    -- <SIP/cityline6-00003870> Playing 'welcome-new.slin' (language 'ru')
  == Begin MixMonitor Recording SIP/cityline6-00003870
[Mar  5 10:25:42] DTMF[23164][C-00001ee2]: channel.c:4069 __ast_read: DTMF end '2' received on SIP/2402-0000386e, duration 240 ms
[Mar  5 10:25:42] DTMF[23164][C-00001ee2]: channel.c:4139 __ast_read: DTMF end passthrough '2' on SIP/2402-0000386e
[Mar  5 10:25:42] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '2' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:42] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '2' on SIP/cityline6-00003870
[Mar  5 10:25:42] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '2' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:42] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '2' on SIP/cityline6-00003870
[Mar  5 10:25:42] DTMF[23164][C-00001ee2]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/2402-0000386e, duration 240 ms
[Mar  5 10:25:42] DTMF[23164][C-00001ee2]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/2402-0000386e
[Mar  5 10:25:43] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:43] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/cityline6-00003870
[Mar  5 10:25:43] DTMF[23164][C-00001ee2]: channel.c:4069 __ast_read: DTMF end '0' received on SIP/2402-0000386e, duration 240 ms
[Mar  5 10:25:43] DTMF[23164][C-00001ee2]: channel.c:4139 __ast_read: DTMF end passthrough '0' on SIP/2402-0000386e
[Mar  5 10:25:44] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '0' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:44] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '0' on SIP/cityline6-00003870
  == CDR updated on SIP/cityline6-00003870
    -- Executing [2240@input_point:1] Goto("SIP/cityline6-00003870", "office,2240") in new stack
    -- Goto (input_point,office,2240)
[Mar  5 10:25:44] DTMF[23164][C-00001ee2]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/2402-0000386e, duration 240 ms
[Mar  5 10:25:44] DTMF[23164][C-00001ee2]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/2402-0000386e
[Mar  5 10:25:44] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:44] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/cityline6-00003870
[Mar  5 10:25:45] DTMF[23175][C-00001ee3]: channel.c:4069 __ast_read: DTMF end '4' received on SIP/cityline6-00003870, duration 80 ms
[Mar  5 10:25:45] DTMF[23175][C-00001ee3]: channel.c:4139 __ast_read: DTMF end passthrough '4' on SIP/cityline6-00003870
[Mar  5 10:25:50] WARNING[23175][C-00001ee3]: pbx.c:6214 __ast_pbx_run: Invalid extension '44', but no rule 'i' or 'e' in context 'input_point'

Т.е происходит попытка набора номера 2440, хотя я вводил 2404, а потом он вообще почему-то думает, что я набрал 44.

ссылка удалить спам редактировать

ответил 2014-03-05 11:42:18 +0400

gramadzjanin Gravatar gramadzjanin
1 6 3

Comments

читайте документацию. Read используется без background и играет второй аргумент.

meral ( 2014-03-05 18:20:06 +0400 )редактировать

Сделал: [input]

exten => s,1,GoTo(input,incoming,1)

exten => incoming,1,Answer exten => incoming,n,Read(num,welcome-new) exten => incoming,n,GotoIf($[ "${num}" == "" ]?sec) exten => incoming,n,GoTo(office,${EXTEN}) exten => incoming,n(sec),Dial(SIP/${SECRETARY1},${DIALTIMEOUT}) exten => incoming,n,PlayBack(welcome-timeout-new) exten => incoming,n,Hangup() Звоню, ввожу доп. номер.

ar 6 11:57:57] DTMF[3339][C-000021d1]: channel.c:4155 _astread: DTMF begin '2' received on SIP/2402-00003da3 и так на куждую цифру, а затем -- User entered nothing. -- Executing [incoming@input:5] GotoIf("SIP/dlink-00003da7", "1?sec") in new stack

gramadzjanin ( 2014-03-06 13:16:23 +0400 )редактировать
0

Читаем внимательно Учебник

Background(filename1[&filename2...][|options[|langoverride][|context]])

This application will play the given list of files while waiting for an extension to be dialed by the calling channel. To continue waiting for digits after this application has finished playing files, the WaitExten application should be used

При выполнении Backgound DTMF накапливается, а обрабатываются только в WaitExten

ссылка удалить спам редактировать

ответил 2014-03-05 18:08:44 +0400

Zavr2008 Gravatar Zavr2008 flag of Russian Federation
2886 11 9 40
http://mh.otx.ru/

Comments

и не накапливается тоже. там атачится бекраунд поток через audiohooks. на этом все.

meral ( 2014-03-05 18:19:27 +0400 )редактировать

".. while waiting for an extension to be dialed by the calling channel" :)

Zavr2008 ( 2014-03-05 19:52:58 +0400 )редактировать
0

эта компбинация бессмысленна

надо использовать либо background+waitexten либо Read

ссылка удалить спам редактировать

ответил 2014-03-04 21:18:02 +0400

meral Gravatar meral flag of Ukraine
23347 24 20 177
http://pro-sip.net/

Ваш ответ

Please start posting your answer anonymously - your answer will be saved within the current session and published after you log in or create a new account. Please try to give a substantial answer, for discussions, please use comments and please do remember to vote (after you log in)!
[скрыть предварительный просмотр]

Закладки и информация

Добавить закладку

подписаться на rss ленту новостей

Статистика

Задан: 2014-03-04 16:41:09 +0400

Просмотрен: 193 раз

Обновлен: Mar 05 '14

Похожие вопросы:

Проект компании "АТС Дизайн"
Asterisk® и Digium® являются зарегистрированными торговыми марками компании Digium, Inc., США.
IP АТС Asterisk распространяется под лицензией GNU GPL.