Перейти к содержимому
Калькуляторы

Проигрывание аудио файла в исходящий лег

TCL Скрипт звонит на внешний номер и должен проиграть сообщение:

Диал-пиры:

 

dial-peer voice 10 voip
 destination-pattern 05550052хх
 session target ipv4:192.168.201.2
 codec g711ulaw

 

Скрипт:

proc init { } {
               global param callinfo numExt1

               infotag set med_language_map 0 ru
               infotag set med_location ru 0 tftp://хх.хх.21.173/path/media/
               infotag set med_language 0

               set id "1"
               set callinfo(alertTime) 10
               set callinfo(originationNum) "хх6979"

               set numExt1 "05550052хх"
}

proc act_MakeCall { } {
               puts "DEBUG: act_MakeCall start"
               global param callinfo numExt1

               leg setup $numExt1 callinfo leg_outgoing

               puts "DEBUG: act_MakeCall stop"
               fsm setstate CHECKCALLSETUP
}

proc act_CheckCallSetup { } {
               puts "DEBUG: act_CheckCallSetup start"

               global param Status

               set Status [infotag get evt_status]
               switch $Status {
                               "ls_000" {
                                               media play leg_outgoing _welcome.au
                                               puts "DEBUG: CALL ACTIVE true"
                               }
                               default {
                                               puts "DEBUG: CALL FAILED, STATUS - $Status"
                               }
               }

               puts "DEBUG: act_CheckCallSetup stop"
}

proc act_AfterMedia { } {
               puts "DEBUG: Media Finished"
               act_Cleanup
}

proc act_Cleanup { } {
               puts "DEBUG: act_Cleanup start"
               set status [infotag get evt_status]
               puts "DEBUG: STATUS is $status"
               call close
               puts "DEBUG: act_Cleanup stop"
}

requiredversion 2.0
init

# State Machine
set fsm(any_state,ev_disconnected) "act_Cleanup same_state"
set fsm(CALL_INIT,ev_session_indication) "act_MakeCall CHECKCALLSETUP"
set fsm(CHECKCALLSETUP,ev_setup_done) "act_CheckCallSetup MEDIAPLAY"
set fsm(MEDIAPLAY,ev_media_done) "act_AfterMedia CALLDISCONNECT"
set fsm(CALLDISCONNECT,ev_media_done) "act_Cleanup same_state"
set fsm(CALLDISCONNECT,ev_disconnect_done) "act_Cleanup same_state"
set fsm(CALLDISCONNECT,ev_leg_timer) "act_Cleanup same_state"

fsm define fsm CALL_INIT

Запуск:

 

Router#call application session start my_balance balance
Router#
May 31 11:07:41.733: //-1//TCL :EEC0EC34BC000:/tcl_PutsObjCmd: DEBUG: act_MakeCall start
May 31 11:07:41.733:
May 31 11:07:41.733: //-1//TCL :EEC0EC34BC000:/tcl_PutsObjCmd: DEBUG: act_MakeCall stop
May 31 11:07:41.733:
May 31 11:07:47.877: //-1//TCL :EEC0EC34BC000:/tcl_PutsObjCmd: DEBUG: act_CheckCallSetup start
May 31 11:07:47.877:
May 31 11:07:47.877: //-1//DPM :DP1295:/pc_mc_createDynamicS: calloc mcDynamicS_t
May 31 11:07:47.877: //-1//DPM :DP1295:/pc_mc_addToDynamicS: (1) _welcome.au
May 31 11:07:47.877: //-1//DPM :DP1295:/pc_mc_addToDynamicS: Doing : _welcome.au
May 31 11:07:47.877: //-1//DPM :/mcTokenizerGetNext: savedcharptr=_ endptrptr=_welcome.au
May 31 11:07:47.877: //-1//DPM :DP1295:/pc_mc_addToDynamicS: Token : _welcome.au status 1
May 31 11:07:47.877: //-1//DPM :DP1295:/pc_mc_addToDynamicS: call dp_mcDQfromFileDynamic() to Handle relative file name

May 31 11:07:47.877: //-1//DPM :DP1295:/dp_mcDQfromFileDynamic: pLanguage=ru FileName=_welcome.au
May 31 11:07:47.877: //-1//DPM :DP1295:/dp_mcDQfromURL: file=tftp://хх.хх.21.173/path/media/ru_welcome.au
May 31 11:07:47.877: //-1//MCM :/mc_createFromFileUrl: Getting a media content: name=ru_welcome.au
       url=tftp://xx.xx.21.173/path/media/ru_welcome.au
       load fast, fetchtimeout=-1
May 31 11:07:47.877: //-1//MCM :MC8:/mc_getFromUrlName: ru_welcome.au on ram
May 31 11:07:47.877: //-1//MCM :MC8:/mc_waitq_unlink: elm=73DA58C4
May 31 11:07:47.877: //-1//MCM :MC8:/mc_waitq_unlink: prompt_wait=C0F88 prompt_active=0

May 31 11:07:47.877: //-1//MCM :MC8:/mc_waitq_delete: prompt_wait=C0F88 prompt_active=22D12
May 31 11:07:47.877: //-1//MCM :/mc_createFromFileUrl: Found a good mc (0x64E0C834), RefCount(1)
May 31 11:07:47.877: //-1//DPM :DP1295:/dp_mcDQfromURL: mc_createFromFileUrl OK
May 31 11:07:47.877: //-1//DPM :LP:DP1295:MC8:/dp_mcDQfromURL:
May 31 11:07:47.877: dp_mcDQfromURL enqueuing ru_welcome.au OK###
May 31 11:07:47.877: //-1//DPM :/mcTokenizerGetNext: savedcharptr= endptrptr=
May 31 11:07:47.877: //3303//MSW :/msw_create: cbf=0x6213F128
May 31 11:07:47.877: //-1//MSM :MS1313:/ms_create: Iniz ply_timer
May 31 11:07:47.877: //3303//MSW :/msw_synth_open: mediaStream 0x73697E30 created
May 31 11:07:47.877: //3303//MSW :/msw_synth_open: rtspStream 0x6734BE3C created,
                       status=RTSP_STATUS_SUCCESS, session_id=0x521 (1313)
May 31 11:07:47.877: //3303//MSW :/msw_synth_open: AIS : Creating TTS AIS Backend record
May 31 11:07:47.877: //-1//MSM :MS1314:/ms_create: Iniz ply_timer
May 31 11:07:47.877: //3303//MSW :/msw_recrd_open:
May 31 11:07:47.877: :msw_recrd_open mediaStream 0x65589ED8 created
May 31 11:07:47.877: //3303//MSW :/msw_recrd_open: rtspStream 0x6734BE44 created,
                       status=RTSP_STATUS_SUCCESS, session_id=0x522 (1314)
May 31 11:07:47.877: //3303//MSW :/msw_recog_open: AIS : Creating ASR AIS Backend record
May 31 11:07:47.877: //-1//MSW :/msw_associate_call:
May 31 11:07:47.877: msw_associate_call: callID=0xCE7(3303),
                                         genericStream=0xC0E99804
May 31 11:07:47.877: //3303//MSW :/msw_synth_get_stream_state: genericStream 0xC0E99804 is in state MSW_S_IDLE
May 31 11:07:47.877: //-1//MSW :/msw_synth_start:
May 31 11:07:47.877: msw_synth_start: Enter...
May 31 11:07:47.877: //3303//MSW :/msw_synth_start: current_stream_id=1, content 0x0, dynamicS 0x73D990F0, current_state=MSW_S_IDLE
May 31 11:07:47.877: //-1//MSW :/msw_synth_start: msw_synth_start: p_mcDynamicS, We've been given a list of URLs to play.
May 31 11:07:47.877: //-1//MSW :/msw_synth_start: p_mcDynamicQ is NOT empty
May 31 11:07:47.877: //3303//MSW :/msu_synth_partial_play: Media Stream URL
May 31 11:07:47.877: //-1//MCM :MR1289:/mc_createDynamicReader:
May 31 11:07:47.877: //3303//MSM :/ms_get_packet_size:
May 31 11:07:47.877: ms_get_packet_size NO Voice Class codec
May 31 11:07:47.877: //3303//MSM :/ms_associate: packet_size = 160 timestamp increment = 160 packet_duration = 20 Coder = 5 vad = 0 SampleRate = 8000
May 31 11:07:47.877: //3303//MSM :/ms_associate: >>ccAssociateStream()
May 31 11:07:47.877: //-1//TCL :EEC0EC34BC000:/tcl_PutsObjCmd: DEBUG: CALL ACTIVE true
May 31 11:07:47.877:
May 31 11:07:47.877: //-1//TCL :EEC0EC34BC000:/tcl_PutsObjCmd: DEBUG: act_CheckCallSetup stop
May 31 11:07:47.877:

 

Звонок приходит на 05550052хх, поднимаю трубку и тишина.

Смущает ошибка:

May 31 11:07:47.877: ms_get_packet_size NO Voice Class codec 

 

Во входящий лег промт проигрывается. С исходящим проблема.

Изменено пользователем Macro

Поделиться сообщением


Ссылка на сообщение
Поделиться на других сайтах

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Гость
Ответить в тему...

×   Вставлено в виде отформатированного текста.   Вставить в виде обычного текста

  Разрешено не более 75 смайлов.

×   Ваша ссылка была автоматически встроена.   Отобразить как ссылку

×   Ваш предыдущий контент был восстановлен.   Очистить редактор

×   Вы не можете вставить изображения напрямую. Загрузите или вставьте изображения по ссылке.