2017-10-10 5 views
1

J'ai simple dialplan dans Asterisk 13Combien de temps Asterisk attend un appel AGI?

exten => 800,1,Answer() 
;AGI do something and return AUDIO_FILE tobe played 
same => n,Agi(agi://localhost:1000/doAlotOfThing.agi) 
same => n,Playback(${AUDIO_FILE} 
same => n,Hangup() 

J'étais attendre Asterisk attendra AGI jusqu'à ce qu'il fait le traitement de la commande puis rendement variable AUDIO_FILE (environ 20 secondes). Mais le vrai Asterisk attend juste quelques secondes, et même Agi n'est pas encore fini, il passe encore et joue AUDIO_FILE (qui n'est pas initialisé) Donc la question est: Comment puis-je changer le paramètre de délai d'attente AGI dans Asterisk?

Répondre

1

L'interface AGI est simple.

Si vous le faites au lieu de fichier AGI quelque chose comme

while(1){ 
sleep(1) 
} 

il attendra jusqu'à ce que l'appelant raccrochage (actualy même un peu plus de temps après raccrochage, mais pas accordé, vous devez donc éviter de tels AGI).

Si l'astérisque passe par le plan de numérotation à la destination suivante, cela signifie que votre flux d'entrée agi est fermé ou a émis une sortie (0) ou une commande similaire.

+0

Oui, pour mon cas Asterisk n'a pas attendu l'appel AGI, il relâche la fonction Agi() après avoir attendu 5 secondes. Mais je viens de réaliser que c'était à cause d'un réglage de Load Balancing, qui ne maintient en vie qu'une connexion pendant 5 secondes. – duccom