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

История изменений [назад]

нажмите, чтобы скрыть/показать версии 1
изначальная версия
редактировать

ответил 2012-03-05 16:25:17 +0400

oooo1 Gravatar oooo1

Есть:

asterisk 1.6.2.22;

макрос с простым local outgoing dialplan'ом:

exten => _1XX,1,Answer

exten => _1XX,(SIP/${EXTEN},15,m)

exten => _1XX,Hangup

exten => h,1,Playback(do-svidaniya)

exten => h,n,Hangup

звонок абонента А абоненту Б (с номера 100 (calling) - абонент А на номер 101 (called) абонент Б) .

Хочется, чтобы после поднятия трубки абонентом Б (так как ему идет звонок) и последующего "отбоя" шло сообщение, например "До свидания" , в случае если "отбой" идет от вызываемого абонента Б, то сообщение было бы у вызывающего абонента А, и наоборот, если "отбой" на стороне вызывающего абонента А, то сообщение слышал бы вызываемый абонент Б. На данный момент сообщение слышит абонент А, при "отбое" абонентом Б, если наоборот, то ошибка:

-- Executing [h@macro-localmacro:1] Playback("SIP/100-00000008", "do-svidaniya") in new stack
[Mar  4 14:48:45] WARNING[47426]: file.c:753 ast_readaudio_callback: Failed to write frame
    -- <SIP/100-00000008> Playing 'do-svidaniya.gsm' (language 'ru')
[Mar  4 14:48:45] WARNING[47426]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/100-00000008 for do-svidaniya
    -- Executing [h@macro-localmacro:2] Hangup("SIP/100-00000008", "") in new stack

Как сделать, чтобы при сбросе усановленного соединения вызывающим абонентом А, вызываемый абонент Б тоже слышал сообщение ?

Команда wait(например 10) до Playback или сразу после него не помогает как и параметр g. P.S. Какими tag' ами выделять context' ы / макросы ?

Есть:

asterisk 1.6.2.22;

макрос с простым local outgoing dialplan'ом:

exten => _1XX,1,Answer

exten => _1XX,(SIP/${EXTEN},15,m)

exten => _1XX,Hangup

exten => h,1,Playback(do-svidaniya)

exten => h,n,Hangup

звонок абонента А абоненту Б (с номера 100 (calling) - абонент А на номер 101 (called) абонент Б) .

Хочется, чтобы после поднятия трубки абонентом Б (так как ему идет звонок) и последующего "отбоя" шло сообщение, например "До свидания" , в случае если "отбой" идет от вызываемого абонента Б, то сообщение было бы у вызывающего абонента А, и наоборот, если "отбой" на стороне вызывающего абонента А, то сообщение слышал бы вызываемый абонент Б. На данный момент сообщение слышит абонент А, при "отбое" абонентом Б, если наоборот, то ошибка:

-- Executing [h@macro-localmacro:1] Playback("SIP/100-00000008", "do-svidaniya") in new stack
[Mar  4 14:48:45] WARNING[47426]: file.c:753 ast_readaudio_callback: Failed to write frame
    -- <SIP/100-00000008> Playing 'do-svidaniya.gsm' (language 'ru')
[Mar  4 14:48:45] WARNING[47426]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/100-00000008 for do-svidaniya
    -- Executing [h@macro-localmacro:2] Hangup("SIP/100-00000008", "") in new stack

Как сделать, чтобы при сбросе усановленного соединения вызывающим абонентом А, вызываемый абонент Б тоже слышал сообщение ?

Команда wait(например 10) до Playback или сразу после него не помогает как и параметр g. .

P.S. Какими tag' ами выделять context' ы / макросы ?

Есть:

asterisk 1.6.2.22;

макрос с простым local outgoing dialplan'омcontext'ом:

exten => _1XX,1,Answer

exten => _1XX,(SIP/${EXTEN},15,m)

exten => _1XX,Hangup

exten => h,1,Playback(do-svidaniya)

exten => h,n,Hangup

звонок абонента А абоненту Б (с номера 100 (calling) - абонент А на номер 101 (called) абонент Б) .

Хочется, чтобы после поднятия трубки абонентом Б (так как ему идет звонок) и последующего "отбоя" шло сообщение, например "До свидания" , в случае если "отбой" идет от вызываемого абонента Б, то сообщение было бы у вызывающего абонента А, и наоборот, если "отбой" на стороне вызывающего абонента А, то сообщение слышал бы вызываемый абонент Б. На данный момент сообщение слышит абонент А, при "отбое" абонентом Б, если наоборот, то ошибка:

-- Executing [h@macro-localmacro:1] Playback("SIP/100-00000008", "do-svidaniya") in new stack
[Mar  4 14:48:45] WARNING[47426]: file.c:753 ast_readaudio_callback: Failed to write frame
    -- <SIP/100-00000008> Playing 'do-svidaniya.gsm' (language 'ru')
[Mar  4 14:48:45] WARNING[47426]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/100-00000008 for do-svidaniya
    -- Executing [h@macro-localmacro:2] Hangup("SIP/100-00000008", "") in new stack

Как сделать, чтобы при сбросе усановленного соединения вызывающим абонентом А, вызываемый абонент Б тоже слышал сообщение ?

Команда wait(например 10) до Playback или сразу после него не помогает как и параметр g.

P.S. Какими tag' ами выделять context' ы / макросы ?

Есть:

asterisk 1.6.2.22;

макрос с простым local outgoing context'ом:

exten => _1XX,1,Answer

exten => _1XX,(SIP/${EXTEN},15,m)

exten => _1XX,Hangup

exten => h,1,Playback(do-svidaniya)

exten => h,n,Hangup

exten => _1XX,1,Answer

exten => _1XX,(SIP/${EXTEN},15,m)

exten => _1XX,Hangup

exten => h,1,Playback(do-svidaniya)

exten => h,n,Hangup

звонок абонента А абоненту Б (с номера 100 (calling) - абонент А на номер 101 (called) абонент Б) .

Хочется, чтобы после поднятия трубки абонентом Б (так как ему идет звонок) и последующего "отбоя" шло сообщение, например "До свидания" , в случае если "отбой" идет от вызываемого абонента Б, то сообщение было бы у вызывающего абонента А, и наоборот, если "отбой" на стороне вызывающего абонента А, то сообщение слышал бы вызываемый абонент Б. На данный момент сообщение слышит абонент А, при "отбое" абонентом Б, если наоборот, то ошибка:

 -- Executing [h@macro-localmacro:1] Playback("SIP/100-00000008", "do-svidaniya") in new stack
 [Mar  4 14:48:45] WARNING[47426]: file.c:753 ast_readaudio_callback: Failed to write frame
     -- <SIP/100-00000008> Playing 'do-svidaniya.gsm' (language 'ru')
 [Mar  4 14:48:45] WARNING[47426]: app_playback.c:471 playback_exec: ast_streamfile failed on SIP/100-00000008 for do-svidaniya
     -- Executing [h@macro-localmacro:2] Hangup("SIP/100-00000008", "") in new stack

Как сделать, чтобы при сбросе усановленного соединения вызывающим абонентом А, вызываемый абонент Б тоже слышал сообщение ?

Команда wait(например 10) до Playback или сразу после него не помогает как и параметр g.

P.S. Какими tag' ами выделять context' ы / макросы ?

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