Durchwahlproblem

supercomm

Neuer User
Mitglied seit
23 Apr 2008
Beiträge
2
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen,

ich habe dieses und diverse andere Foren nach meinem Problem durchsucht und habe hier und da etwas dazu gefunden aber leider hat mir nichts weitergeholfen bzw. auch nur die geringste Änderung gebracht.

Zur Situation:

Ich habe den * mit einer Digium TE122 E1-Karte an den PMX von Netcologne angeschlossen. Soweit ist auch alles ok. Zaptel/Libpri scheint zu funktionieren. Zumindest kann man raustelefonieren. Bei eingehenden Anrufen wird aber generell nur die erste Ziffer hinter der Kopfnummer übertragen.

Hier der Auszug aus dem Log:

Code:
-- Executing [XXXX4@pri-ext:1] Set("Zap/1-1", "TIMEOUT(digit)=1") in new stack
-- Digit timeout set to 1
-- Executing [XXXX4@pri-ext:2] WaitExten("Zap/1-1", "3") in new stack
-- Accepting call from 'YYYYYYYYYYY' to 'XXXX4' on channel 0/1, span 1
-- Timeout on Zap/1-1, continuing...

Wie Ihr seht habe ich es derzeit mit WaitExten() versucht... ohne Ergebnis.
Die Durchwahl ist immer 3 Ziffern lang, in diesem Fall hätte dort XXXX401 stehen müssen.

Hier noch meine zapata.conf

Code:
[channels]
switchtype=euroisdn
language=de
context=pri-ext
signalling=pri_cpe
channel => 1-15,17-31
group=1
;pridialplan=local
;prilocaldialplan=local
nationalprefix=0
internationalprefix=00
immediate=no
overlapdial=yes
callprogress=no
busydetect=no
echocancel=yes

Was könnte man noch tun?

Ich benutze derzeit Asterisk 1.6.0 mit libpri 1.6 und zaptel 1.4.10 habe aber auch schon die Debian-Version 1.4 sowie eine selber kompilierte 1.4er-Version versucht. Mit dem selben Ergebnis.
 
Hello,

Ich habs gelöst.

Anscheinend wird overlapdial=yes in der zapata.conf komplett ignoriert oder nicht richtig geparst.
Außerdem kann overlapdial anscheinend 4 Werte statt "yes" and "no" haben:
0 : overlapdial aus
1 : overlapdial für ausgehende Rufe
2 : overlapdial für eingehende Rufe
3 : overlapdial für beide Richtungen

Es gibt auch keinen Default-Wert channels/chan_zap.c

Code:
/*! returns a new zt_chan_conf with default values (by-value) */
static struct zt_chan_conf zt_chan_conf_default(void) {
        /* recall that if a field is not included here it is initialized
         * to 0 or equivalent
         */
        struct zt_chan_conf conf = {
#ifdef HAVE_PRI
                .pri = {
                        .nsf = PRI_NSF_NONE,
                        .switchtype = PRI_SWITCH_NI2,
                        .dialplan = PRI_NATIONAL_ISDN + 1,
                        .localdialplan = PRI_NATIONAL_ISDN + 1,
                        .nodetype = PRI_CPE,

                        .minunused = 2,
                        .idleext = "",
                        .idledial = "",
                        .internationalprefix = "",
                        .nationalprefix = "",
                        .localprefix = "",
                        .privateprefix = "",
                        .unknownprefix = "",
                        .resetinterval = -1,
                },
#endif

Deswegen habe ich channels/chan_zap.c wie folgt angepasst:

Code:
/*! returns a new zt_chan_conf with default values (by-value) */
static struct zt_chan_conf zt_chan_conf_default(void) {
        /* recall that if a field is not included here it is initialized
         * to 0 or equivalent
         */
        struct zt_chan_conf conf = {
#ifdef HAVE_PRI
                .pri = {
                        .nsf = PRI_NSF_NONE,
                        .switchtype = PRI_SWITCH_NI2,
                        .dialplan = PRI_NATIONAL_ISDN + 1,
                        .localdialplan = PRI_NATIONAL_ISDN + 1,
                        .nodetype = PRI_CPE,

                        .minunused = 2,
                        .idleext = "",
                        .idledial = "",
                        .internationalprefix = "",
                        .nationalprefix = "",
                        .localprefix = "",
                        .privateprefix = "",
                        .unknownprefix = "",
                        .resetinterval = -1,
                        .overlapdial = 2,
                },
#endif

Das funktioniert, scheint aber ein dicker Bug zu sein. Es wundert mich, dass das noch keinem aufgefallen ist.
 
Kostenlos!

Statistik des Forums

Themen
248,885
Beiträge
2,303,946
Mitglieder
378,564
Neuestes Mitglied
warumdas