- Mitglied seit
- 15 Dez 2016
- Beiträge
- 32
- Punkte für Reaktionen
- 2
- Punkte
- 8
Sehr geehrte Damen und Herren,
um meine anderen auf Asterisk-Telefonanlagen bezogenen Probleme möglichst eigenständig lösen zu können, arbeite ich mich zurzeit etwas in die einzelnen für Dialpläne zur Verfügung stehenden Befehle ein. Im Moment habe ich Fragen zu den Optionen L und S des Bridge-Befehls. Ich habe beide Optionen ausprobiert und folgende Kontexte in meinen Dialplan eingebunden:
Wähle ich nun von der Nebenstelle 32 (der SIP-Klient Phoner 3.7, betrieben auf einem Klapprechner mit Windows 10) die 50 beziehungsweise 51, so erwarte ich, dass die Nebenstelle 31 (ein SIP-Tischtelefon vom Typ Cisco SPA303) klingelt. Weiterhin erwarte ich, dass nach dem Abheben des Hörers der Nebenstelle 31 ein Gespräch zur Nebenstelle 32 aufgebaut wird, welches nach fünf Sekunden wieder getrennt wird. Der folgenden Ausgabe, welche ich mit dem Linux-Befehl "asterisk -rvvvvv" einholte, nach zu urteilen scheint es auch zu funktionieren:
In der Tat sind die beiden Kontexte im Dialplan dahingehend funktionsfähig, als dass die beschriebene Erwartungshaltung bis zur vierten Sekunde des jeweiligen Gesprächs auch erfüllt wird, jedoch wird das jeweilige Gespräch nach fünf Sekunden nicht wie erwartet getrennt. Ich habe die Gespräche jeweils bis zu Sekunde 15 weitergeführt und es sind keinerlei Anstalten erkennbar gewesen, dass die Trennung des Gesprächs bevorstünde, sondern die Gespräche liefen einfach weiter, als wäre die Beschränkung der Gesprächszeit auf fünf Sekunden gar nicht vorhanden.
Um grundsätzliche Probleme mit den internen Zeitgebern der Asterisk-Telefonanlage auszuschließen, habe ich noch folgenden Kontext in den Dialplan eingebunden, der die untenstehende Ausgabe zu Tage brachte:
Als ich von der Nebenstelle 32 die 49 wählte, klingelte erwartungsgemäß die Nebenstelle 31 und nach dem Abnehmen des Hörers derer kam ein Gespräch zustande. Dieses Gespräch wurde erwartungsgemäß nach fünf Sekunden getrennt.
Nun möchte ich zur Fragestellung kommen. Wie muss ich den Bridge-Befehl anpassen, sodass die Begrenzung der Gesprächsdauer wie in der Erwartungshaltung beschrieben funktioniert? Warum tritt der geschilderte Fehler überhaupt auf? Welche Fehler habe ich bei der Programmierung der Kontexte test7 und test8 gemacht? Ausdrücklich möchte ich darauf hinweisen, dass es mir bei dieser Frage nicht darum geht, Alternativen zur Erfüllung der beschriebenen Erwartungshaltung aufgezeigt zu bekommen. Schließlich habe ich auch schon eine funktionsfähige Alternative erarbeitet. Mir geht es bei dieser Frage überhaupt nicht darum, eine bestimmte Aufgabe zu erfüllen, sondern es geht mir lediglich darum, den Umgang mit dem Bridge-Befehl und vor allem mit dessen Möglichkeit, die Dauer der Verbindung zu begrenzen, zu erlernen. In diesem Sinne hoffe ich nun auf Antworten, die mich in dieser Angelegenheit weiterbringen werden. Ferner möchte ich Ihnen sehr herzlich dafür danken, dass Sie sich meine Fragestellung durchgelesen haben und vor allem, dass Sie sich mit meinen Problemen auseinandersetzen. Nun wünsche ich Ihnen noch einen angenehmen Sonntag und verbleibe
Mit freundlichen Grüßen
Jung-Fernmelder
um meine anderen auf Asterisk-Telefonanlagen bezogenen Probleme möglichst eigenständig lösen zu können, arbeite ich mich zurzeit etwas in die einzelnen für Dialpläne zur Verfügung stehenden Befehle ein. Im Moment habe ich Fragen zu den Optionen L und S des Bridge-Befehls. Ich habe beide Optionen ausprobiert und folgende Kontexte in meinen Dialplan eingebunden:
Code:
[test7]
exten => 50,1,Originate(SIP/31,exten,test7,neu,1)
exten => neu,1,Bridge(SIP/32,L(5000))
[test8]
exten => 51,1,Originate(SIP/31,exten,test8,neu,1)
exten => neu,1,Bridge(SIP/32,S(5))
Code:
Connected to Asterisk 11.23.1 currently running on (none) (pid = 5595)
== Using SIP RTP CoS mark 5
-- Executing [50@Endgeraete:1] Originate("SIP/32-00000000", "SIP/31,exten,test7,neu,1") in new stack
== Using SIP RTP CoS mark 5
-- Executing [neu@test7:1] Bridge("SIP/31-00000001", "SIP/32,L(5000)") in new stack
-- Setting call duration limit to 5.000 seconds.
> 0x79197c01fa10 -- Probation passed - setting RTP source address to 192.168.5.7:5062
> 0x791970015e00 -- Probation passed - setting RTP source address to 192.168.5.8:16414
-- Auto fallthrough, channel 'SIP/32-00000000' status is 'UNKNOWN'
> Saved useragent "Cisco/SPA303-7.6.2b" for peer 31
== Using SIP RTP CoS mark 5
-- Executing [51@Endgeraete:1] Originate("SIP/32-00000002", "SIP/31,exten,test8,neu,1") in new stack
== Using SIP RTP CoS mark 5
-- Executing [neu@test8:1] Bridge("SIP/31-00000003", "SIP/32,S(5)") in new stack
> 0x79197c0083b0 -- Probation passed - setting RTP source address to 192.168.5.7:5062
> 0x79197c04a7e0 -- Probation passed - setting RTP source address to 192.168.5.8:16416
-- Auto fallthrough, channel 'SIP/32-00000002' status is 'UNKNOWN'
(none)*CLI>
Um grundsätzliche Probleme mit den internen Zeitgebern der Asterisk-Telefonanlage auszuschließen, habe ich noch folgenden Kontext in den Dialplan eingebunden, der die untenstehende Ausgabe zu Tage brachte:
Code:
[test6]
exten => 49,1,Dial(SIP/31,,L(5000))
Code:
== Using SIP RTP CoS mark 5
-- Executing [49@Endgeraete:1] Dial("SIP/32-00000004", "SIP/31,,L(5000)") in new stack
-- Setting call duration limit to 5.000 seconds.
== Using SIP RTP CoS mark 5
-- Called SIP/31
-- SIP/31-00000005 is ringing
-- SIP/31-00000005 answered SIP/32-00000004
> 0x79197c03bb60 -- Probation passed - setting RTP source address to 192.168.5.7:5062
> 0x79192c013a00 -- Probation passed - setting RTP source address to 192.168.5.8:16418
== Spawn extension (Endgeraete, 49, 1) exited non-zero on 'SIP/32-00000004'
(none)*CLI>
Nun möchte ich zur Fragestellung kommen. Wie muss ich den Bridge-Befehl anpassen, sodass die Begrenzung der Gesprächsdauer wie in der Erwartungshaltung beschrieben funktioniert? Warum tritt der geschilderte Fehler überhaupt auf? Welche Fehler habe ich bei der Programmierung der Kontexte test7 und test8 gemacht? Ausdrücklich möchte ich darauf hinweisen, dass es mir bei dieser Frage nicht darum geht, Alternativen zur Erfüllung der beschriebenen Erwartungshaltung aufgezeigt zu bekommen. Schließlich habe ich auch schon eine funktionsfähige Alternative erarbeitet. Mir geht es bei dieser Frage überhaupt nicht darum, eine bestimmte Aufgabe zu erfüllen, sondern es geht mir lediglich darum, den Umgang mit dem Bridge-Befehl und vor allem mit dessen Möglichkeit, die Dauer der Verbindung zu begrenzen, zu erlernen. In diesem Sinne hoffe ich nun auf Antworten, die mich in dieser Angelegenheit weiterbringen werden. Ferner möchte ich Ihnen sehr herzlich dafür danken, dass Sie sich meine Fragestellung durchgelesen haben und vor allem, dass Sie sich mit meinen Problemen auseinandersetzen. Nun wünsche ich Ihnen noch einen angenehmen Sonntag und verbleibe
Mit freundlichen Grüßen
Jung-Fernmelder