Hallo Zusammen,
ich bin hier im Forum schon lange Zeit ein stiller (unregistrierter) Mitleser, habe aber jetzt ein Problem, zu dem ich bisher keine Antwort gefunden hab.
Zur Zeit baue ich ein SIP Relais auf Raspberry Pi Basis mit Asterisk.
Es soll folgendes können:
1. Ein Eingang wird getriggert -> Dies erzeugt ein Call File und wirft es in den Spooler, damit die entsprechende Nst. klingelt
2. Der Angerufene kann über DTMF (88) ein Relais schalten.
Mein Problem ist Punkt 2. Der Anruf kommt rein, ich höre meine definierte Ansage, drücke die DTMF und es passiert nichts...
Hier ein teil meiner extensions.conf:
Hier meine features.conf:
Und hier die Ausgabe der Console:
Wo ist mein Fehler?
Ich hab das Gefühl, das die DYNAMIC_FEATURES ignoriert werden bzw. DTMF einfach nicht ankommt.
Vermutlich ist das für nen Asterisk Profi eine Kleinigkeit aber ich beiße mir da die Zähne aus.
Habe auch schon eine andere Lösung getestet, die nicht mit Call File arbeitet sondern via Shell ein "asterisk -rx 'console dial 81'" ausführt aber bei dieser Lösung lies sich keine Ansage abspielen, dafür funktionierte DTMF.
Zudem schien mir die Lösung mit dem Call File eleganter. Irgendwann hat Asterisk beim Aufruf von asterisk -rx den dienst verweigert und musste neu gestartet werden.
Hoffe jemand hat ne Idee.
Ich danke euch schon mal vorab.
ich bin hier im Forum schon lange Zeit ein stiller (unregistrierter) Mitleser, habe aber jetzt ein Problem, zu dem ich bisher keine Antwort gefunden hab.
Zur Zeit baue ich ein SIP Relais auf Raspberry Pi Basis mit Asterisk.
Es soll folgendes können:
1. Ein Eingang wird getriggert -> Dies erzeugt ein Call File und wirft es in den Spooler, damit die entsprechende Nst. klingelt
2. Der Angerufene kann über DTMF (88) ein Relais schalten.
Mein Problem ist Punkt 2. Der Anruf kommt rein, ich höre meine definierte Ansage, drücke die DTMF und es passiert nichts...
Hier ein teil meiner extensions.conf:
Code:
[Outgoing]
exten => _XX,1,Set(__DYNAMIC_FEATURES=toggleR1)
same => n,Wait(2)
same => n,Playback(/home/pi/ansagen/klingel_betaetigt)
same => n,Wait(10)
same => n,Hangup()
Hier meine features.conf:
Code:
[applicationmap]
toggleR1 => 88,peer,System,bash /home/pi/config/toggleR1.sh
toggleR2 => 99,peer,System,bash /home/pi/config/toggleR2.sh
Und hier die Ausgabe der Console:
Code:
-- Attempting call on SIP/sip1/81 for 03@Outgoing:1 (Retry 1)
== Using SIP RTP CoS mark 5
-- Called sip1/81
-- SIP/sip1-00000006 is ringing
-- SIP/sip1-00000006 answered
-- Executing [03@Outgoing:1] Set("SIP/sip1-00000006", "__DYNAMIC_FEATURES=toggleR1") in new stack
-- Executing [03@Outgoing:2] Wait("SIP/sip1-00000006", "2") in new stack
-- Executing [03@Outgoing:3] Playback("SIP/sip1-00000006", "/home/pi/ansagen/klingel_betaetigt") in new stack
-- <SIP/sip1-00000006> Playing '/home/pi/ansagen/klingel_betaetigt.slin' (language 'de')
-- Executing [03@Outgoing:4] Wait("SIP/sip1-00000006", "10") in new stack
-- Executing [03@Outgoing:5] Hangup("SIP/sip1-00000006", "") in new stack
== Spawn extension (Outgoing, 03, 5) exited non-zero on 'SIP/sip1-00000006'
[Aug 28 12:23:31] NOTICE[17838][C-00000009]: pbx_spool.c:463 attempt_thread: Call completed to SIP/sip1/81
Wo ist mein Fehler?
Ich hab das Gefühl, das die DYNAMIC_FEATURES ignoriert werden bzw. DTMF einfach nicht ankommt.
Vermutlich ist das für nen Asterisk Profi eine Kleinigkeit aber ich beiße mir da die Zähne aus.
Habe auch schon eine andere Lösung getestet, die nicht mit Call File arbeitet sondern via Shell ein "asterisk -rx 'console dial 81'" ausführt aber bei dieser Lösung lies sich keine Ansage abspielen, dafür funktionierte DTMF.
Zudem schien mir die Lösung mit dem Call File eleganter. Irgendwann hat Asterisk beim Aufruf von asterisk -rx den dienst verweigert und musste neu gestartet werden.
Hoffe jemand hat ne Idee.
Ich danke euch schon mal vorab.