VIDEOCHAT  ::   FAQ  ::   Поиск  ::   Регистрация  ::   Вход

Проиграть звук после повешенья трубки?

Новичком считается только что прочитавший «Астериск - будущее телефонии»
http://asterisk.ru/knowledgebase/books
и пытающийся сделать большее

Модераторы: april22, Zavr2008

varnav
Сообщения: 26
Зарегистрирован: 11 окт 2012, 21:36

Проиграть звук после повешенья трубки?

Сообщение varnav »

Всем привет!

Есть такой отличный контекст для опросника:

[quiz]
exten => s,1,Verbose(2,Starting quiz)
exten => s,2,Playback(custom/q_hi)
exten => s,3,Read(a1,,1,n,2,10)
exten => s,4,Verbose(2,Answered ${answ})
exten => s,5,AGI(quiz.php,1,${a1})
exten => s,n,Hangup()

Если на него перенаправлять ручками - всё отлично работает. Если на него кидать через h - то всё просто обрывается после команды Playback. Пошарил по форумам - говорят (http://lists.digium.com/pipermail/aster ... 59179.html) что после того как трубку повесили голосовой тракт обрывается и типа звук проиграть нельзя уже.

Это правда?

Астер 1.8.12.0
Аватара пользователя
Sfinx
Сообщения: 672
Зарегистрирован: 21 июн 2011, 23:40
Откуда: Odessa
Контактная информация:

Re: Проиграть звук после повешенья трубки?

Сообщение Sfinx »

Поднесите ухо к повешенной трубке и убедитесь сами ;)
Rus

-----------
SfinxSoft
http://sfinxsoft.com
varnav
Сообщения: 26
Зарегистрирован: 11 окт 2012, 21:36

Re: Проиграть звук после повешенья трубки?

Сообщение varnav »

Дело в том что такое точно работало в другом месте. В такой конфигурации:

exten => h,3,Goto(quiz,s,1)

После того как тот кому позвонили вешал трубку (но не звонивший!) h выполнялся, звук из контекста quiz проигрывался, ответ через Read считывался.
Трубку ведь можно повесить только с одной стороны - почему нельзя проиграть что-то второй стороне которая эту трубку ещё не повесила?

А здесь пытаюсь повторить - получается такое:

[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Goto (quiz,s,1)
[Oct 12 18:52:11] VERBOSE[31349] app_macro.c: == Channel 'SIP/baza5555-000014e3' jumping out of macro 'hangupcall'
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:1] Verbose("SIP/baza5555-000014e3", "2,Starting quiz") in new stack
[Oct 12 18:52:11] VERBOSE[31349] app_verbose.c: == Starting quiz
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:2] Playback("SIP/baza5555-000014e3", "custom/q_hi") in new stack
[Oct 12 18:52:11] WARNING[31349] file.c: Failed to write frame
[Oct 12 18:52:11] VERBOSE[31349] file.c: -- <SIP/baza5555-000014e3> Playing 'custom/q_hi.alaw' (language 'ru')
[Oct 12 18:52:11] WARNING[31349] app_playback.c: ast_streamfile failed on SIP/baza5555-000014e3 for custom/q_hi
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:3] Read("SIP/baza5555-000014e3", "a1,,1,n,2,10") in new stack
[Oct 12 18:52:11] VERBOSE[31349] app_read.c: -- Accepting a maximum of 1 digits.
[Oct 12 18:52:11] VERBOSE[31349] app_read.c: -- User disconnected
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:4] Verbose("SIP/baza5555-000014e3", "2,Answered ") in new stack
[Oct 12 18:52:11] VERBOSE[31349] app_verbose.c: == Answered
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:5] AGI("SIP/baza5555-000014e3", "quiz.php,1,") in new stack
[Oct 12 18:52:11] VERBOSE[31349] res_agi.c: -- Launched AGI Script /var/lib/asterisk/agi-bin/quiz.php
[Oct 12 18:52:11] VERBOSE[31349] res_agi.c: -- <SIP/baza5555-000014e3>AGI Script quiz.php completed, returning 0
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:6] Hangup("SIP/baza5555-000014e3", "") in new stack
[Oct 12 18:52:11] VERBOSE[31349] features.c: == Spawn extension (quiz, s, 6) exited non-zero on 'SIP/baza5555-000014e3'

Фактически сразу обрыв связи.
Аватара пользователя
Sfinx
Сообщения: 672
Зарегистрирован: 21 июн 2011, 23:40
Откуда: Odessa
Контактная информация:

Re: Проиграть звук после повешенья трубки?

Сообщение Sfinx »

Есть всего два варианта:

1. h => 1, Dial(Local/play_sound)
2. через call file / Originate()
Rus

-----------
SfinxSoft
http://sfinxsoft.com
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Проиграть звук после повешенья трубки?

Сообщение zzuz »

Не надо вестить на доводы автора. Потому что он сам кусок диплана прочитал и ничего не понял. А вот то , что Hangup'а еще не было он и не посмотрел.
Линия24 - Системы Массового Телефонного Обслуживания
varnav
Сообщения: 26
Зарегистрирован: 11 окт 2012, 21:36

Re: Проиграть звук после повешенья трубки?

Сообщение varnav »

Если под автором подразумеваюсь я то это кусок я не прочитал а написал.
Что значит hangup-а не было? А как мы тогда в h попали?

Sfinx: К сожалению замена Goto(quiz,s,1) на Dial(Local/s@quiz) ничего не изменила.
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Проиграть звук после повешенья трубки?

Сообщение zzuz »

Где тут экстеншен h ?

Код: Выделить всё

[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Goto (quiz,s,1)
[Oct 12 18:52:11] VERBOSE[31349] app_macro.c: == Channel 'SIP/baza5555-000014e3' jumping out of macro 'hangupcall'
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:1] Verbose("SIP/baza5555-000014e3", "2,Starting quiz") in new stack
[Oct 12 18:52:11] VERBOSE[31349] app_verbose.c: == Starting quiz
[Oct 12 18:52:11] VERBOSE[31349] pbx.c: -- Executing [s@quiz:2] Playback("SIP/baza5555-000014e3", "custom/q_hi") in new stack
[Oct 12 18:52:11] WARNING[31349] file.c: Failed to write frame
[Oct 12 18:52:11] VERBOSE[31349] file.c: -- <SIP/baza5555-000014e3> Playing 'custom/q_hi.alaw' (language 'ru')
[Oct 12 18:52:11] WARNING[31349] app_playback.c: ast_streamfile failed on SIP/baza5555-000014e3 for custom/q_hi
Линия24 - Системы Массового Телефонного Обслуживания
varnav
Сообщения: 26
Зарегистрирован: 11 окт 2012, 21:36

Re: Проиграть звук после повешенья трубки?

Сообщение varnav »

Строчкой выше, я его просто не привёл. Из экстеншена h выполняется goto в контекст quiz.

exten => h,3,Goto(quiz,s,1)
Аватара пользователя
zzuz
Сообщения: 1658
Зарегистрирован: 21 сен 2010, 13:33
Контактная информация:

Re: Проиграть звук после повешенья трубки?

Сообщение zzuz »

и?

Код: Выделить всё

[Oct 12 18:52:11] WARNING[31349] app_playback.c: ast_streamfile failed on SIP/baza5555-000014e3 for custom/q_hi
Линия24 - Системы Массового Телефонного Обслуживания
varnav
Сообщения: 26
Зарегистрирован: 11 окт 2012, 21:36

Re: Проиграть звук после повешенья трубки?

Сообщение varnav »

Ну да, именно так. Даже понятно почему так:

When the 'h' extension is running, the call legs have already been torn down. There is no way to delay this happening, and you can't do anything in the 'h' extension that needs to read audio from the channel (since no audio will appear, the first time it tries to read audio it will abort). Thus Playback() or Background(), for example, does not work. Essentially, the only things that make sense to use in the 'h' extension are those that don't have anything to do with the external channel that was involved before the hangup. No audio, no DTMF, etc.

http://www.voip-info.org/wiki/view/Asterisk+h+extension

Только вот - у одного клиента всё работает! РАБОТАЕТ! Хотя везде написано что это невозможно. Но я прямо сейчас могу набрать номер и услышать как чёрт побери после положенной агентом колцентра трубки переадресовывается на опросник. В астере! Через goto в экстеншене h!
Вот что удивительно.
Ответить
© 2008 — 2025 Asterisk.ru
Digium, Asterisk and AsteriskNOW are registered trademarks of Digium, Inc.
Design and development by PostMet-Netzwerk GmbH