Beronet-Bridging mit misdn

omerzu

Neuer User
Mitglied seit
6 Nov 2008
Beiträge
29
Punkte für Reaktionen
0
Punkte
0
Wir wollen zwischen einer Beronet PRI-Karte BN2E1 und einer Beronet-4-fach-BRI-Karte BN4S0 Gespräche bridgen, die Karten sind dazu mit einem PCM-Kabel verbunden. Das Ganze passiert unter Asterisk 1.4.25 mit misdn 1.1.9.1 und der misdn.conf-Option "bridging=yes".

Leider brechen ab und zu Gespräche unvermittelt ab, z.B. dieses:

-- Executing [9062926@vom-amt:1] Goto("mISDN/39-u308", "zentralverteilung|26|1") in new stack
-- Goto (zentralverteilung,26,1)
-- Executing [26@zentralverteilung:1] Goto("mISDN/39-u308", "connect-to-ascotel|26|1") in new stack
-- Goto (connect-to-ascotel,26,1)
-- Executing [26@connect-to-ascotel:1] Ringing("mISDN/39-u308", "") in new stack
-- Executing [26@connect-to-ascotel:2] PlayTones("mISDN/39-u308", "ring") in new stack
-- Executing [26@connect-to-ascotel:3] Dial("mISDN/39-u308", "mISDN/g:isdn-ascotel/9062926") in new stack
-- Called g:isdn-ascotel/9062926
P[ 1] We already have a channel (1)
-- mISDN/1-u310 is proceeding passing it to mISDN/39-u308
-- mISDN/1-u311 is ringing
-- mISDN/1-u311 answered mISDN/39-u308
-- Native bridging mISDN/39-u308 and mISDN/1-u311
[Dec 11 17:01:29] NOTICE[3518]: chan_misdn.c:3029 misdn_bridge: misdn_bridge: empty read, breaking out
== Spawn extension (connect-to-ascotel, 26, 3) exited non-zero on 'mISDN/39-u308'

Was ist hier falsch, was kann ich tun?
 
Update von mir:

Das Problem ist mehr oder weniger "gelöst", soll heißen, ich habe einen Workaround.

Der Fehler tritt nämlich genau in folgendem Szenario auf:

Anruf A geht über ISDN ein und wird von einem AGI-Skript beantwortet.
Anruf B geht über ISDN ein und wird über ISDN weitergeleitet, das Bridging greift.
Anruf A legt auf. Im selben Moment tritt der zitierte Fehler auf und Anruf B wird abgebrochen.

Falls der Anruf B *vor* dem AGI gestartet wurde, passiert beim Beenden des AGIs nichts. Betroffen sind nur Anrufe, die *nach* dem AGI gestartet werden.

Ursächlich hängt das Ganze mit der Signalbehandlung im AGI zusammen.
Dieses fängt nämlich das "SIGHUP" ab, das es vom Asterisk beim Gesprächsende bekommt, schreibt einen Log-Eintrag und terminiert dann.
Wenn ich auf das Abfangen des Signals verzichte (und mir dadurch dann leider das ordnungsgemäße Beenden des AGIs fehlt), tritt das Problem nicht auf.

Offensichtlich hat der Asterisk ein Problem mit seinem Signalhandling!?
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.