LINUX.ORG.RU
ФорумAdmin

Asterisk Read не верно понимает донабор.

 , ,


0

1
[work_time]
exten=> s,1,Answer()
exten=> s,n,Playback(0528_migaeva1_mono_8000)
exten=> s,n,Set(NUMBER="")
exten=> s,n,Playback(beep)
exten=> s,n,Read(NUMBER,,3,,,7)
;exten=> s,1,Read(NUMBER,0528_migaeva1_mono_8000,3,,,7)

Ввод с кнопок телефона - Содержание переменной «NUMBER»:
150-115
127-112
112-111
145-114
123-112
135-113
176-117

Звонок приходит от GOIP4

[GOIP4](!)
type = friend
host = dynamic
nat = false
qualify = true
canreinvite = false
insecure = port,invite
dtmfmode = rfc2833
;dtmfmode = inband
;dtmfmode = info
;dtmfmode = auto
context = incoming
disallow = all
allow = ulaw
deny = 0.0.0.0/0.0.0.0
permit = 192.168.236.0/255.255.255.0
В настройках GOIP4 DTMF используется как outband rfc2833, скрин. https://hkar.ru/14RgE

Лог донабора 125

-- Executing [s@work_time:2] Set("SIP/GOIP42-00000003", "NUMBER=""") in new stack
-- Executing [s@work_time:3] Playback("SIP/GOIP42-00000003", "beep") in new stack
-- <SIP/GOIP42-00000003> Playing 'beep.slin' (language 'ru_RU')
-- Executing [s@work_time:4] Read("SIP/GOIP42-00000003", "NUMBER,,3,,,7") in new stack
-- Accepting a maximum of 3 digits.
-- User entered '112'
-- Executing [s@work_time:5] NoOp("SIP/GOIP42-00000003", "Entered number: "112".") in new stack

В ходе изучения выяснил, что приложение «Read» в контексте [work_time] верно читает тоны от абонента (и заполняет переменную NUMBER), если первая цифра не «1»

★★★★★

Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.