[Gelöst] hangup wird nicht registriert nicht solange Audio Playback

golemleser

Neuer User
Mitglied seit
8 Jul 2007
Beiträge
15
Punkte für Reaktionen
0
Punkte
1
Hallo!

Kurze Beschreibung meines Szenarios:
- User1 loggst sich in meinem Server (Asterisk 14.7.6. auf CentOS 7.6) ein
- User2 wird vom Server aus angerufen
- Beide User werden in eine MeetMe-Conference "gesteckt"
- per sh-Skript wird eine .call Datei erzeugt und in den Conference-Ordner verschoben. Diese Datei startet ein Audio-Playback einer sln-Datei, ewelche dann für beide Teilnehmer zu hören ist

Problem:
Solange das Audio-Playback läuft, registriert Asterisk nicht, wenn der Angerufene (User2) das Telefonat beendet. Vor dem Abspielen und nach Beendigung desselben klappt es. Ich hatte gelesen, dass "Playback" das Commando an Asterisk erst zurückgibt, wenn das Playback beendet ist. Also habe ich es statt mit "Playback" mit "Background" versucht. Audio wird abgespielt, aber das "hangup" Ereignis wird auch hier nicht registriert. Hat einer eine Idee?

Code:
[separator]
exten => s,1,Goto(fun1,s,1)
exten => s,2,Goto(fun2,s,1)


[fun1]
exten => s,1,NoOp(Data 1: CONF=${CONF} INIT_CHANNEL=${INIT_CHANNEL})
exten => s,n,MeetMe(${CONF},Akmqd)
exten => s,n,Hangup

[fun2]
exten => s,1,NoOp(Data 2: CONF=${CONF} INIT_CHANNEL=${INIT_CHANNEL})
exten => s,n,Wait(0.5)
exten => s,n,MeetMe(${CONF},kxqd)
exten => s,n,AGI(kill_channel.sh,${INIT_CHANNEL})
exten => s,n,NoOp("NOT_IN_THE_MEETME")
exten => s,n,Hangup

[inject-sound]
exten => s,1,MeetMe(${CONF},qd)
exten => s,n,NoOp("AFTER MEETME")

PHP:
exec('echo "Channel: Local/s@inject-sound" > /tempcids/'.$cidf);
exec('echo "Application: Background" >> /tempcids/'.$cidf);
exec('echo "Data: /var/lib/asterisk/sounds/en/'.$ac.'" >> /tempcids/'.$cidf);
exec('echo "Archive: Yes" >> /tempcids/'.$cidf);
exec('echo "Set: CONF='.$cid.'" >> /tempcids/'.$cidf);
exec('mv /tempcids/'.$cidf.' /var/spool/asterisk/outgoing');

Viele Grüße
Marc
 
Konnte mein Problem lösen mit Hilfe von 'h':

Code:
[fun2]
exten => s,1,NoOp(Data 2: CONF=${CONF} INIT_CHANNEL=${INIT_CHANNEL})
exten => s,n,Wait(0.5)
exten => s,n,MeetMe(${CONF},kxqd)
exten => s,n,AGI(kill_channel.sh,${INIT_CHANNEL})
exten => s,n,NoOp("NOT_IN_THE_MEETME")
exten => s,n,Hangup
exten => h,1,AGI(kill_channel.sh,${INIT_CHANNEL})

Viele Grüße
Marc
 
Kostenlos!

Statistik des Forums

Themen
248,857
Beiträge
2,303,012
Mitglieder
378,507
Neuestes Mitglied
AndreasJ