Asterisk 13 и Followme
Добавлено: 27 сен 2016, 17:01
Здравствуйте уважаемые!
Очень много времени убил на поиск решения проблемы по поисковикам, так же пользовался поиском по форуму, но ответа так и не нашел.
Данный вопрос задавался в одной из тем, но ответа на него не нашлось: https://forum.asterisk.ru/viewtopic.php ... wme#p62402
Имеется: Asterisk 11.5.0 в продакшене и тестовый Asterisk 13.11.2.
После установки 13го астериска, конфиг файлы были на него перекинуты с 11го. Т.е грубо говоря конфигурации астера 11 и 13 идентичны. На 13м астериске всё работает как и на 11м, за исключением одного:
На 13м Астериске в отличии от 11го, при использовании приложения FollowMe, на другой конец вызова астериск проигрывает "Пожалуйста нажмите 1 если хотите принять вызов, либо нажмите 2 если хотите отклонить" - нажатия 1 или 2 игнорирует, просто начинает циклично воспроизводить 2 файла 1) Зарегистрирован звонок 2) Нажмите 1 или 2.. При всем при этом на такой же конфигурации 11й астериск не требует донажатия каких-либо клавиш, а просто уведомляет получившего переадресованный вызов сообщением "Зарегистрирован входящий звонок" и соединяет абонентов в разговор.
В идеале, хотелось бы чтоб 13й астериск так же просто уведомлял о переадресованном вызове и не требовал каких-либо донажатий.
Вот екстеншн и файл конфигурации один в один на обоих астерисках (11\13):
followme.conf
Лог вызова с 13го астериска:
Лог вызова 11го астериска
В чем разница и почему при одинаковой конфигурации разные версии астериска работаю по разному с followme? Есть ли способ заставить 13й астериск работать с FollowMe как работает с ним 11й?
Очень много времени убил на поиск решения проблемы по поисковикам, так же пользовался поиском по форуму, но ответа так и не нашел.
Данный вопрос задавался в одной из тем, но ответа на него не нашлось: https://forum.asterisk.ru/viewtopic.php ... wme#p62402
Имеется: Asterisk 11.5.0 в продакшене и тестовый Asterisk 13.11.2.
После установки 13го астериска, конфиг файлы были на него перекинуты с 11го. Т.е грубо говоря конфигурации астера 11 и 13 идентичны. На 13м астериске всё работает как и на 11м, за исключением одного:
На 13м Астериске в отличии от 11го, при использовании приложения FollowMe, на другой конец вызова астериск проигрывает "Пожалуйста нажмите 1 если хотите принять вызов, либо нажмите 2 если хотите отклонить" - нажатия 1 или 2 игнорирует, просто начинает циклично воспроизводить 2 файла 1) Зарегистрирован звонок 2) Нажмите 1 или 2.. При всем при этом на такой же конфигурации 11й астериск не требует донажатия каких-либо клавиш, а просто уведомляет получившего переадресованный вызов сообщением "Зарегистрирован входящий звонок" и соединяет абонентов в разговор.
В идеале, хотелось бы чтоб 13й астериск так же просто уведомлял о переадресованном вызове и не требовал каких-либо донажатий.
Вот екстеншн и файл конфигурации один в один на обоих астерисках (11\13):
Код: Выделить всё
exten => _[1234567]XX,1,Set(timeout=${DB(${EXTEN}/timeout)})
exten => _[1234567]XX,n,GotoIf($["${timeout}" != ""]?5)
exten => _[1234567]XX,n,Set(timeout=60)
exten => _[1234567]XX,n,Set(wl=${SHELL(cat /etc/asterisk/custom/whitelist.conf | grep ${CALLERID(num)})})
exten => _[1234567]XX,n,GotoIf($["${wl}" != ""]?call)
exten => _[1234567]XX,n,Set(path=${STRFTIME(${EPOCH},,%Y%m%d)})
exten => _[1234567]XX,n,Set(fname=${STRFTIME(${EPOCH},,%Y%m%d%H%M%S)}-${CALLERID(num)}-${EXTEN})
exten => _[1234567]XX,n,Set(monopt=nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/${path}/${fname}.wav" "/usr/records/out/${path}/${fname}.mp3" && rm -f "/usr/records/out/${path}/${fname}.wav" && /bin/chmod 444 /usr/records/out/${path}/${fname}.mp3)
exten => _[1234567]XX,n,Set(CDR(recordpath)=out/${path}/${fname})
exten => _[1234567]XX,n,Set(CDR(userfield)=/usr/records/out/${path}/${fname}.mp3)
exten => _[1234567]XX,n,Set(CDR(int_clid)=${CALLERID(num)})
exten => _[1234567]XX,n,MixMonitor(/usr/records/out/${path}/${fname}.wav,b,${monopt})
exten => _[1234567]XX,n(call),Dial(SIP/${EXTEN},${timeout},rt)
exten => _[1234567]XX,n,GotoIf($["${DIALSTATUS}" = "BUSY"]?end)
exten => _[1234567]XX,n,Followme(${EXTEN})
exten => _[1234567]XX,n(end),busy(10)
exten => _[1234567]XX,n,StopMixMonitor()
exten => _[1234567]XX,n,Hangup()
Код: Выделить всё
root@asterisk:~# cat /etc/asterisk/followme.conf |grep -v ";"
[general]
featuredigittimeout=>5000
takecall=>1
declinecall=>2
call_from_prompt=>followme/call-from
norecording_prompt=>followme/no-recording
options_prompt=>followme/options
pls_hold_prompt=>followme/pls-hold-while-try
status_prompt=>followme/status
sorry_prompt=>followme/sorry
[default]
musicclass=>default
context=>sip-out
number=>012334567,25
takecall=>1
declinecall=>2
call_from_prompt=>followme/call-from
norecording_prompt=>followme/no-recording
options_prompt=>followme/options
pls_hold_prompt=>followme/pls-hold-while-try
status_prompt=>followme/status
sorry_prompt=>followme/sorry
[202]
context=>sip-out
number => 89335451234
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Код: Выделить всё
asterisk*CLI> core set verbose 3
Console verbose was OFF and is now 3.
== Using SIP RTP CoS mark 5
-- Executing [202@test-context:1] Set("SIP/153-000010d5", "timeout=8") in new stack
-- Executing [202@test-context:2] GotoIf("SIP/153-000010d5", "1?5") in new stack
-- Goto (test-context,202,5)
-- Executing [202@test-context:5] GotoIf("SIP/153-000010d5", "0?call") in new stack
-- Executing [202@test-context:6] Set("SIP/153-000010d5", "path=20160927") in new stack
-- Executing [202@test-context:7] Set("SIP/153-000010d5", "fname=20160927203551-153-202") in new stack
-- Executing [202@test-context:8] Set("SIP/153-000010d5", "monopt=nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203551-153-202.wav" "/usr/records/out/20160927/20160927203551-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927203551-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203551-153-202.mp3") in new stack
-- Executing [202@test-context:9] Set("SIP/153-000010d5", "CDR(recordpath)=out/20160927/20160927203551-153-202") in new stack
-- Executing [202@test-context:10] Set("SIP/153-000010d5", "CDR(userfield)=/usr/records/out/20160927/20160927203551-153-202.mp3") in new stack
-- Executing [202@test-context:11] Set("SIP/153-000010d5", "CDR(int_clid)=153") in new stack
-- Executing [202@test-context:12] MixMonitor("SIP/153-000010d5", "/usr/records/out/20160927/20160927203551-153-202.wav,b,nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203551-153-202.wav" "/usr/records/out/20160927/20160927203551-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927203551-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203551-153-202.mp3") in new stack
-- Executing [202@test-context:13] Dial("SIP/153-000010d5", "SIP/202,8,rt") in new stack
== Begin MixMonitor Recording SIP/153-000010d5
== Using SIP RTP CoS mark 5
-- Called SIP/202
-- SIP/202-000010d6 is ringing
-- SIP/202-000010d6 is ringing
-- Nobody picked up in 8000 ms
-- Executing [202@test-context:14] GotoIf("SIP/153-000010d5", "0?end") in new stack
-- Executing [202@test-context:15] FollowMe("SIP/153-000010d5", "202") in new stack
-- <SIP/153-000010d5> Playing 'followme/pls-hold-while-try.alaw' (language 'ru')
-- Started music on hold, class 'default', on channel 'SIP/153-000010d5'
-- calling Local/89335451234@sip-out/m
-- Executing [89335451234@sip-out:1] Set("Local/89335451234@sip-out-0000007e;2", "wl=") in new stack
-- Executing [89335451234@sip-out:2] GotoIf("Local/89335451234@sip-out-0000007e;2", "0?call") in new stack
-- Executing [89335451234@sip-out:3] Set("Local/89335451234@sip-out-0000007e;2", "path=20160927") in new stack
-- Executing [89335451234@sip-out:4] Set("Local/89335451234@sip-out-0000007e;2", "fname=20160927203604-153-89335451234") in new stack
-- Executing [89335451234@sip-out:5] Set("Local/89335451234@sip-out-0000007e;2", "monopt=nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203604-153-89335451234.wav" "/usr/records/out/20160927/20160927203604-153-89335451234.mp3" && rm -f "/usr/records/out/20160927/20160927203604-153-89335451234.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203604-153-89335451234.mp3") in new stack
-- Executing [89335451234@sip-out:6] Set("Local/89335451234@sip-out-0000007e;2", "CDR(recordpath)=out/20160927/20160927203604-153-89335451234") in new stack
-- Executing [89335451234@sip-out:7] Set("Local/89335451234@sip-out-0000007e;2", "CDR(userfield)=/usr/records/out/20160927/20160927203604-153-89335451234.mp3") in new stack
-- Executing [89335451234@sip-out:8] Set("Local/89335451234@sip-out-0000007e;2", "CDR(int_clid)=153") in new stack
-- Executing [89335451234@sip-out:9] MixMonitor("Local/89335451234@sip-out-0000007e;2", "/usr/records/out/20160927/20160927203604-153-89335451234.wav,b,nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203604-153-89335451234.wav" "/usr/records/out/20160927/20160927203604-153-89335451234.mp3" && rm -f "/usr/records/out/20160927/20160927203604-153-89335451234.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203604-153-89335451234.mp3") in new stack
== Begin MixMonitor Recording Local/89335451234@sip-out-0000007e;2
-- Executing [89335451234@sip-out:10] Set("Local/89335451234@sip-out-0000007e;2", "CALLERID(num)=3902971999") in new stack
-- Executing [89335451234@sip-out:11] Dial("Local/89335451234@sip-out-0000007e;2", "SIP/krs_2971999/89335451234,60,tT") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/krs_2971999/89335451234
-- SIP/krs_2971999-000010d7 is making progress passing it to Local/89335451234@sip-out-0000007e;2
-- Local/89335451234@sip-out-0000007e;1 is making progress
-- SIP/krs_2971999-000010d7 answered Local/89335451234@sip-out-0000007e;2
-- Local/89335451234@sip-out-0000007e;1 answered SIP/153-000010d5
-- Starting playback of followme/call-from
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/no-recording.alaw' (language 'ru')
-- Channel SIP/krs_2971999-000010d7 joined 'simple_bridge' basic-bridge <4dc6df07-dd04-49ab-94c6-06f4598bde32>
-- Channel Local/89335451234@sip-out-0000007e;2 joined 'simple_bridge' basic-bridge <4dc6df07-dd04-49ab-94c6-06f4598bde32>
-- <Local/89335451234@sip-out-0000007e;1> Playback of name file appears to be done.
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/options.alaw' (language 'ru')
-- <Local/89335451234@sip-out-0000007e;1> We've been waiting for digits longer than we should have.
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/no-recording.alaw' (language 'ru')
-- <Local/89335451234@sip-out-0000007e;1> Playback of name file appears to be done.
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/options.alaw' (language 'ru')
-- <Local/89335451234@sip-out-0000007e;1> We've been waiting for digits longer than we should have.
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/no-recording.alaw' (language 'ru')
-- <Local/89335451234@sip-out-0000007e;1> Playback of name file appears to be done.
-- <Local/89335451234@sip-out-0000007e;1> Playing 'followme/options.alaw' (language 'ru')
-- We've hit our timeout for this step. Dropping unanswered calls and starting the next step.
-- No more steps left.
-- Stopped music on hold on SIP/153-000010d5
-- Executing [202@test-context:16] Busy("SIP/153-000010d5", "50") in new stack
-- Channel Local/89335451234@sip-out-0000007e;2 left 'simple_bridge' basic-bridge <4dc6df07-dd04-49ab-94c6-06f4598bde32>
-- Channel SIP/krs_2971999-000010d7 left 'simple_bridge' basic-bridge <4dc6df07-dd04-49ab-94c6-06f4598bde32>
== Spawn extension (sip-out, 89335451234, 11) exited non-zero on 'Local/89335451234@sip-out-0000007e;2'
== MixMonitor close filestream (mixed)
== Executing [nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203604-153-89335451234.wav" "/usr/records/out/20160927/20160927203604-153-89335451234.mp3" && rm -f "/usr/records/out/20160927/20160927203604-153-89335451234.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203604-153-89335451234.mp3]
== End MixMonitor Recording Local/89335451234@sip-out-0000007e;2
== Spawn extension (test-context, 202, 16) exited non-zero on 'SIP/153-000010d5'
== MixMonitor close filestream (mixed)
== Executing [nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927203551-153-202.wav" "/usr/records/out/20160927/20160927203551-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927203551-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927203551-153-202.mp3]
== End MixMonitor Recording SIP/153-000010d5
asterisk*CLI>
PRIME_BBCODE_SPOILER_SHOW PRIME_BBCODE_SPOILER:
Код: Выделить всё
Connected to Asterisk 11.5.0 currently running on asterisk (pid = 11567)
asterisk*CLI> core set verbose 3
Set remote console verbosity to 3
== Using SIP RTP CoS mark 5
-- Executing [202@test-context:1] Set("SIP/153-00000006", "timeout=10") in new stack
-- Executing [202@test-context:2] GotoIf("SIP/153-00000006", "1?5") in new stack
-- Goto (test-context,202,5)
-- Executing [202@test-context:5] GotoIf("SIP/153-00000006", "0?call") in new stack
-- Executing [202@test-context:6] Set("SIP/153-00000006", "path=20160927") in new stack
-- Executing [202@test-context:7] Set("SIP/153-00000006", "fname=20160927204335-153-202") in new stack
-- Executing [202@test-context:8] Set("SIP/153-00000006", "monopt=nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204335-153-202.wav" "/usr/records/out/20160927/20160927204335-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927204335-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204335-153-202.mp3") in new stack
-- Executing [202@test-context:9] Set("SIP/153-00000006", "CDR(recordpath)=out/20160927/20160927204335-153-202") in new stack
-- Executing [202@test-context:10] Set("SIP/153-00000006", "CDR(userfield)=/usr/records/out/20160927/20160927204335-153-202.mp3") in new stack
-- Executing [202@test-context:11] MixMonitor("SIP/153-00000006", "/usr/records/out/20160927/20160927204335-153-202.wav,b,nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204335-153-202.wav" "/usr/records/out/20160927/20160927204335-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927204335-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204335-153-202.mp3") in new stack
== Begin MixMonitor Recording SIP/153-00000006
-- Executing [202@test-context:12] Dial("SIP/153-00000006", "SIP/202,10,rt") in new stack
[Sep 27 20:43:35] WARNING[11759][C-00000003]: app_dial.c:2437 dial_exec_full: Unable to create channel of type 'SIP' (cause 20 - Subscriber absent)
== Everyone is busy/congested at this time (1:0/0/1)
-- Executing [202@test-context:13] GotoIf("SIP/153-00000006", "0?end") in new stack
-- Executing [202@test-context:14] FollowMe("SIP/153-00000006", "202") in new stack
-- <SIP/153-00000006> Playing 'followme/pls-hold-while-try.gsm' (language 'ru')
-- Started music on hold, class 'default', on SIP/153-00000006
-- calling Local/89235459745@sip-out/m
-- Executing [89235459745@sip-out:1] Set("Local/89235459745@sip-out-00000003;2", "wl=") in new stack
-- Executing [89235459745@sip-out:2] GotoIf("Local/89235459745@sip-out-00000003;2", "0?call") in new stack
-- Executing [89235459745@sip-out:3] Set("Local/89235459745@sip-out-00000003;2", "CALLERID(num)=3902971999") in new stack
-- Executing [89235459745@sip-out:4] Set("Local/89235459745@sip-out-00000003;2", "path=20160927") in new stack
-- Executing [89235459745@sip-out:5] Set("Local/89235459745@sip-out-00000003;2", "fname=20160927204340-3902971999-89235459745") in new stack
-- Executing [89235459745@sip-out:6] Set("Local/89235459745@sip-out-00000003;2", "monopt=nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" "/usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3" && rm -f "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3") in new stack
-- Executing [89235459745@sip-out:7] Set("Local/89235459745@sip-out-00000003;2", "CDR(recordpath)=out/20160927/20160927204340-3902971999-89235459745") in new stack
-- Executing [89235459745@sip-out:8] Set("Local/89235459745@sip-out-00000003;2", "CDR(userfield)=/usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3") in new stack
-- Executing [89235459745@sip-out:9] MixMonitor("Local/89235459745@sip-out-00000003;2", "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav,b,nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" "/usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3" && rm -f "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3") in new stack
-- Executing [89235459745@sip-out:10] Dial("Local/89235459745@sip-out-00000003;2", "SIP/krs_2971999/89235459745,60,tT") in new stack
== Begin MixMonitor Recording Local/89235459745@sip-out-00000003;2
== Using SIP RTP CoS mark 5
-- Called SIP/krs_2971999/89235459745
-- SIP/krs_2971999-00000007 is making progress passing it to Local/89235459745@sip-out-00000003;2
-- Local/89235459745@sip-out-00000003;1 is making progress
-- SIP/krs_2971999-00000007 answered Local/89235459745@sip-out-00000003;2
-- Local/89235459745@sip-out-00000003;1 answered SIP/153-00000006
-- Starting playback of followme/call-from
-- <Local/89235459745@sip-out-00000003;1> Playing 'followme/no-recording.gsm' (language 'ru')
-- Local/89235459745@sip-out-00000003;1 requested a source update
== Spawn extension (sip-out, 89235459745, 10) exited non-zero on 'Local/89235459745@sip-out-00000003;2'
-- <SIP/krs_2971999-00000007> Playback of name file appears to be done.
-- Stopped music on hold on SIP/153-00000006
== Spawn extension (test-context, 202, 14) exited non-zero on 'SIP/153-00000006'
== MixMonitor close filestream (mixed)
== Executing [nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" "/usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3" && rm -f "/usr/records/out/20160927/20160927204340-3902971999-89235459745.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204340-3902971999-89235459745.mp3]
== MixMonitor close filestream (mixed)
== Executing [nice /usr/bin/lame -b 48 --resample 32 -q5 --silent "/usr/records/out/20160927/20160927204335-153-202.wav" "/usr/records/out/20160927/20160927204335-153-202.mp3" && rm -f "/usr/records/out/20160927/20160927204335-153-202.wav" && /bin/chmod 444 /usr/records/out/20160927/20160927204335-153-202.mp3]
== End MixMonitor Recording Local/89235459745@sip-out-00000003;2
== End MixMonitor Recording SIP/153-00000006
asterisk*CLI> core set verbose 0
Set remote console verbosity to 0
asterisk*CLI>