2017-04-05 2 views
-1

Comme je peux le voir, je peux utiliser le moniteur cmd Asterisk pour enregistrer l'appel, puis utiliser le ControlPlayback pour lire le fichier enregistré. et le nom de base par défaut est construit sur le nom du canal plus un nombre Comment puis-je lire le dernier appel? par exemple: J'ai 3 appel, appel1, appel2, appel3 et le canal est 111, alors comment puis-je obtenir le nom du dernier appel (appel3) à la lecture?Asterisk: Lire le dernier fichier enregistré?

+0

Cette question ne peut pas répondre, tout cela parce que ce travail dialplan et dialplan-dépendent. – arheops

Répondre

0

Une méthode simple consisterait à utiliser une variable globale pour stocker le nom de fichier enregistré.

[call] 
exten => s,1,Answer() 
exten => s,n,MixMonitor(${UNIQUEID}.wav) 
exten => s,n,Set(GLOBAL(lastcall)=${UNIQUEID}) 
exten => s,n,Dial(...) 

[listen] 
exten => s,1,Answer() 
exten => s,n,Wait(1) 
exten => s,n,Playback(${GLOBAL(lastcall)}.wav) 

Pour en savoir plus sur la fonction GLOBAL():

asterisk*CLI> core show function GLOBAL 

    -= Info about function 'GLOBAL' =- 

[Synopsis] 
Gets or sets the global variable specified. 

[Description] 
Set or get the value of a global variable specified in <varname> 

[Syntax] 
GLOBAL(varname)