[gelöst] bestehende ISDN Anlage an asterisk und nach aussen via SIP geht nicht

tomturbo

Neuer User
Mitglied seit
18 Apr 2007
Beiträge
6
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,

bin neu hier in diesem interessanten Forum und grüße erstmal alle recht herzlich.

So nun zu meinem Problem:

Ich habe mich komplett in meinem kleinen Büro vom Festnetz befreit und wickle derzeit alle Telefongespräche mit über SIP (wengo) nach außen ab.
Solange das Softphones betrifft geht alles klar.

Ich habe aber nun meine bestehende ISDN Telefonanlage des Hauses an die asterisk angeschlossen. Und zwar auf eine hfc Karte im NT modus mit misdn.

Telefongespräche von außen die über SIP rein kommen werden ganz normal an die ISDN Telefonanlage weitergeleitet und man kann telefonieren. Soweit so gut.

Den umgekehrten Weg bringe ich aber nicht zusammen.
Wenn ich von ISDN aus wähle soll per wengo oder sipgate nach außen gewählt werden.

Wählen tut er auch aber nur die ersten 3 Ziffern. Was auch das debug so anzeigt.

Nun ist die Frage was kann ich dagegen tun? Hat jemand Tipps für mich?

Das Systemumfeld ist:
gentoo linux, kernel 2.6.19-gentoo-r5
gcc-Version 4.1.1 (Gentoo 4.1.1-r3)
net-libs/libpri-1.2.4-r2
net-misc/zaptel-1.2.16
net-dialup/misdn-1.1.2
net-dialup/misdnuser-1.1.2
net-misc/asterisk-1.2.17
net-misc/asterisk-chan_misdn-0.3.0

Folgendes kommt im debug der asterisk:
P[ 1] I IND :SETUP oad:44 dad:004
P[ 1] read_config: Getting Config
P[ 1] config_jb: Called
P[ 1] I SEND:SETUP_ACKNOWLEDGE oad:44 dad:004
P[ 1] --> bc_state:BCHAN_CLEANED
-- Executing Set("mISDN/1-u0", "CALLERID(number)=0043720734995") in new stack
-- Executing SetCallerPres("mISDN/1-u0", "prohib") in new stack
-- Executing Dial("mISDN/1-u0", "SIP/004@ext-sip-wengotom|45|r") in new stack
-- Called 004@ext-sip-wengotom
P[ 1] * IND : Indication [3] from 004
P[ 1] --> * IND : ringing pid:0
P[ 1] I SEND:ALERTING oad:44 dad:004
P[ 1] --> bc_state:BCHAN_ACTIVE
P[ 1] --> * SEND: State Ring pid:0
-- Got SIP response 484 "Address Incomplete" back from 213.91.9.206
== No one is available to answer at this time (1:0/0/0)
P[ 1] * IND : Indication [-1] from 004
P[ 1] --> * IND : -1! (stop indication) pid:0
-- Executing Hangup("mISDN/1-u0", "") in new stack
== Spawn extension (outgoing, 004, 4) exited non-zero on 'mISDN/1-u0'
P[ 1] * IND : HANGUP pid:0 ctx:eek:utgoing dad:004 oad:0043720734995 State:ALERTING
P[ 1] --> cause:16
P[ 1] --> out_cause:16
P[ 1] I SEND:DISCONNECT oad:44 dad:004
P[ 1] --> bc_state:BCHAN_RELEASE
P[ 1] Channel: mISDN/1-u0 hanguped
P[ 1] I IND :RELEASE oad:44 dad:004
P[ 1] I SEND:RELEASE_COMPLETE oad:44 dad:004
P[ 1] --> bc_state:BCHAN_RELEASED
P[ 1] I IND :CLEAN_UP oad: dad:
P[ 1] Trying to Release bc with l3id: 10000

oad 44 das bin ich, ok
aber
dad 004 sollte eigentlich 00432267xxxx sein.

Es wird also die Nummer nicht richtig signalisiert bzw. nicht richtig weitergegeben.

Ich habe schon mitbekommen das es offenbar auf das warten bei isdn ankommt nur wo stelle ich das bloß ein ist die Frage.

Der relevante Teil meiner extensions.conf lautet:
[outgoing]
exten => s,1,NoOp(${TIMESTAMP} timeout settings)
exten => s,2,Set(TIMEOUT(digit)=3)
exten => s,3,Set(TIMEOUT(response)=10)

exten => _0.,1,Set(CALLERID(number)=0043720734995)
exten => _0.,2,SetCallerPres(prohib) ; oder allowed (default) -> (CLIR)
exten => _0.,3,Dial(SIP/${EXTEN}@ext-sip-wengotom|45|r)
exten => _0.,4,Hangup()
wie man sieht habe ich schon ein wenig mit timeout settings experimentiert.

Ich bin dankbar für jeden Hinweis der mich aus dem Dickicht führt.

lg
__tom
 
Zuletzt bearbeitet:
Funktioniert es, wenn Du "aufgelegt" die Nummer wählst? Also erst die Nummer ins Telefon tippen, dann den Hörer abheben, dann sollte alles flott durchkommen.
Mit dieser Funktion kann man die Wartezeit beeinflussen:
exten => _X.,1,waitfordigits(2000)
Hier wird 2 Sekunden lang gewartet.
 
Leider habe ich die waitfordigits applikation nicht dabei, ich werde sie aber versuchen zu kompilieren und zu installieren.

lg
__tom
 
Hallo,

du hast einen Fehler in deinem Wählbefehl:

exten => _0.,3,Dial(SIP/${EXTEN}@ext-sip-wengotom|45|r)

richtig
exten => _0.,3,Dial(SIP/${EXTEN}@ext-sip-wengotom,45,r)
 
und was soll da jetzt falsch sein?
 
wpfundstein schrieb:
und was soll da jetzt falsch sein?

entweder keine Klammer dann | oder Klammer, dann , (Komma)
 
das bezweifle ich mal.

Habe in meinem Dialplan

Dial(${dialstring}|${ringtime}|trWwo)

und das funktioniert ohne Probleme
 
kombjuder schrieb:
entweder keine Klammer dann | oder Klammer, dann , (Komma)
hm funktionieren tut's aber.
Vielleicht ist sowohl die eine alsauch die andere syntax erlaubt, bzw. ist der Einleseinterpreter so gnädig dass er die syntaxen zu korrigieren weiß :D .

lg
__tom
 
tomturbo schrieb:
hm funktionieren tut's aber.

Dann nehme ich das mal so hin.

Dann füge mal eine neue Zeile 3 ein und verschiebe die 4 und 5 um eins:

exten => _0.,3,NoOp(${EXTEN})

Damit bekommst du den Inhalt von ${EXTEN} angezeigt. Dann siehst du zumindest ob ein Wählfehler vorliegt, oder ob ${EXTEN} einen falschen Inhalt hat.
 
kombjuder schrieb:
Damit bekommst du den Inhalt von ${EXTEN} angezeigt. Dann siehst du zumindest ob ein Wählfehler vorliegt, oder ob ${EXTEN} einen falschen Inhalt hat.
Gesagt getan und: keine Veränderung.

Man sieht ja im misdn log das nur die ersten 3 Ziffern signalisiert werden.
Die eingetippte Nummer

Code:
P[ 1] I IND :SETUP oad:44 dad:004
P[ 1] read_config: Getting Config
P[ 1] config_jb: Called
P[ 1] I SEND:SETUP_ACKNOWLEDGE oad:44 dad:004
P[ 1]  --> bc_state:BCHAN_CLEANED
    -- Executing Set("mISDN/1-u3", "CALLERID(number)=0043720734995") in new stack
    -- Executing SetCallerPres("mISDN/1-u3", "prohib") in new stack
    -- Executing NoOp("mISDN/1-u3", "004") in new stack
    -- Executing Dial("mISDN/1-u3", "SIP/004@ext-sip-wengotom|45|r") in new stack
    -- Called 004@ext-sip-wengotom
P[ 1] * IND : Indication [3] from 004
P[ 1]  --> * IND :      ringing pid:3
P[ 1] I SEND:ALERTING oad:44 dad:004
P[ 1]  --> bc_state:BCHAN_SETUP
P[ 1]  --> * SEND: State Ring pid:3
P[ 1] I IND :DISCONNECT oad:44 dad:004
P[ 1] I SEND:RELEASE oad:44 dad:004
P[ 1]  --> bc_state:BCHAN_RELEASE
P[ 1] I IND :RELEASE_COMPLETE oad:44 dad:004
P[ 1] Trying to Release bc with l3id: 10000
P[ 1] * RELEASING CHANNEL pid:3 ctx:outgoing dad:004 oad:0043720734995 state: ALERTING
P[ 1] I IND :CLEAN_UP oad: dad:
  == Spawn extension (outgoing, 004, 4) exited non-zero on 'mISDN/1-u3'

lg
__tom
 
tomturbo schrieb:
Gesagt getan und: keine Veränderung.


-- Executing NoOp("mISDN/1-u3", "004") in new stack

Aber jetzt kann ich dir sagen, dass du die Variable ${EXTEN}, die die Rufnummer enthält irgendwo in einem anderen Kontext veränderst.

Füge diese Zeile mal in alle Kontexte ein, in der die Rufnummer behandelt wird. Dann siehst du wo der Fehler liegt.
 
kombjuder schrieb:
Aber jetzt kann ich dir sagen, dass du die Variable ${EXTEN}, die die Rufnummer enthält irgendwo in einem anderen Kontext veränderst.

Füge diese Zeile mal in alle Kontexte ein, in der die Rufnummer behandelt wird. Dann siehst du wo der Fehler liegt.
Hi ,

also ich wüsste nicht wo ich die extension noch abfragen sollte. :noidea:
Sie wird schlicht nirgens anders verwendet.

Die misdn.conf verweist auf den Kontext [outgoing] und nur dort wird die extension auch verwendet.
Aber bereits in der Signalisierung von misdn steht nur oad: 004 anstatt der ganzen Nummer.

lg
__tom
 
tomturbo schrieb:
Die misdn.conf verweist auf den Kontext [outgoing] und nur dort wird die extension auch verwendet.

Der Fehler liegt nicht in outgoing!

In outgoing kommt anscheinend die gewählte Nummer nicht oder unvollständig an.

Mit misdn kenne ich mich nicht aus.
 
Hi,

Danke an alle mitwirkenden. Es war die fehlende waitfordigits Applikation!

Von beronet das app_bundle.tar runtergeladen, kompiliert und schon geht das ganze.

lg
__tom
 
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.