- Mitglied seit
- 18 Okt 2004
- Beiträge
- 324
- Punkte für Reaktionen
- 0
- Punkte
- 16
Hallo!
Ich möchte gerne eine Call Back and Through Lösung realisieren. Dafür gibt es mehrere Möglichkeiten und eine läuft bei mir schon. Eine saubere Lösung sollte aber meines Erachtens auf DISA basieren.
Bei der Umsetzung habe ich allerdings ein paar Probleme. Hier mal meine Testkonfiguration:
- SIP Endgerät bt101, das zurückgerufen werden soll (später natürlich ein richtiges Telefon oder Handy)
- der Einfachheit halber, verzichte ich auf die Darstellung des automatischen Rückrufs und arbeite mit einem statischen call file
call file:
Auszug aus sip.conf (es gibt noch einen sipgate Account)
Auszug aus der extensions.conf
Wenn ich nun das call file nach /var/spool/asterisk/outgoing/ verschiebe, dann wird das bt101 angerufen. Ich gehe ran und bekomme ein Freizeichen. Gebe ich 10000 ein (was im hier nicht aufgeführten ausgehendcontext eine Verbindung zur Sipgate-Testnr herstellt), dann kommt nach einer Weile ein dauerhaftes Störgeräusch im Hörer.
Meldungen auf der Konsole:
Bei den Meldungen auf der Konsole ist bemerkenswert, dass er anscheinend 2x versucht, das bt101 anzurufen (was natürlich scheitert, da incominglimit=1)
Setze ich incominglimit=2, dann klopft es im Telefon an. Wenn ich auflege und das 2. Gespräch annehme, dann kommt das gleiche Störgeräusch.
Ich vermute fast, dass ich einen Bug in Asterisk (evtl. im Call File Handling) gefunden habe. Denn wenn ich das BT101 nehme und 1234 anrufe (und damit ebenfalls im disacontext lande), dann kann ich problemlos im ausgehendcontext telefonieren.
Anregungen, Erklärungen oder Lösungsansätze?
Gruß
Alex
Ich möchte gerne eine Call Back and Through Lösung realisieren. Dafür gibt es mehrere Möglichkeiten und eine läuft bei mir schon. Eine saubere Lösung sollte aber meines Erachtens auf DISA basieren.
Bei der Umsetzung habe ich allerdings ein paar Probleme. Hier mal meine Testkonfiguration:
- SIP Endgerät bt101, das zurückgerufen werden soll (später natürlich ein richtiges Telefon oder Handy)
- der Einfachheit halber, verzichte ich auf die Darstellung des automatischen Rückrufs und arbeite mit einem statischen call file
call file:
Code:
Channel: SIP/bt101
MaxRetries: 0
RetryTime: 10
WaitTime: 30
Context: disacontext
Extension: 1234
Priority: 1
Auszug aus sip.conf (es gibt noch einen sipgate Account)
Code:
[general]
context=sipin
port=5060
bindaddr=0.0.0.0
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
allow=g729 ; ich habe eine g729 Lizenz für Asterisk
allow=gsm
allow=g726
language=de
nat=yes
externip = meindyndnsname.dyndns.org
[bt101]
qualify=2000
type=friend
context=disacontext
username=bt101
fromuser=bt101
host=dynamic
secret=geheimespasswort
nat=yes
canreinvite=yes
dtmfmode=rfc2833
incominglimit=1 ; auch mal mit 2 getestet (siehe unten)
disallow=all
allow=g729
Auszug aus der extensions.conf
Code:
[disacontext]
exten => 1234,1,DISA(no-password|ausgehendcontext)
Wenn ich nun das call file nach /var/spool/asterisk/outgoing/ verschiebe, dann wird das bt101 angerufen. Ich gehe ran und bekomme ein Freizeichen. Gebe ich 10000 ein (was im hier nicht aufgeführten ausgehendcontext eine Verbindung zur Sipgate-Testnr herstellt), dann kommt nach einer Weile ein dauerhaftes Störgeräusch im Hörer.
Meldungen auf der Konsole:
Code:
-- Attempting call on SIP/bt101 for 1234@disacontext:1 (Retry 1)
> Channel SIP/bt101-a37e was answered.
-- Executing DISA("SIP/bt101-a37e", "no-password|ausgehendcontext") in new stack
-- Attempting call on SIP/bt101 for 1234@disacontext:1 (Retry 1)
May 23 15:30:48 ERROR[17114]: chan_sip.c:1610 update_user_counter: Call from user 'bt101' rejected due to usage limit of 1
May 23 15:30:48 NOTICE[17114]: channel.c:1815 __ast_request_and_dial: Unable to request channel SIP/bt101
May 23 15:30:48 NOTICE[17114]: pbx_spool.c:232 attempt_thread: Call failed to go through, reason 0
May 23 15:30:53 WARNING[17113]: cdr.c:286 ast_cdr_init: CDR already initialized on 'SIP/bt101-a37e'
-- Executing Dial("SIP/bt101-a37e", "SIP/10000@sipgate|120") in new stack
-- Called 10000@sipgate
-- SIP/sipgate-dfdd answered SIP/bt101-a37e
-- Attempting native bridge of SIP/bt101-a37e and SIP/sipgate-dfdd
== Spawn extension (jolext, 10000, 1) exited non-zero on 'SIP/bt101-a37e'
May 23 15:31:01 NOTICE[17113]: pbx_spool.c:242 attempt_thread: Call completed to SIP/bt101
Bei den Meldungen auf der Konsole ist bemerkenswert, dass er anscheinend 2x versucht, das bt101 anzurufen (was natürlich scheitert, da incominglimit=1)
Setze ich incominglimit=2, dann klopft es im Telefon an. Wenn ich auflege und das 2. Gespräch annehme, dann kommt das gleiche Störgeräusch.
Ich vermute fast, dass ich einen Bug in Asterisk (evtl. im Call File Handling) gefunden habe. Denn wenn ich das BT101 nehme und 1234 anrufe (und damit ebenfalls im disacontext lande), dann kann ich problemlos im ausgehendcontext telefonieren.
Anregungen, Erklärungen oder Lösungsansätze?
Gruß
Alex