mISDN und Österreich, nur Durchwahlen, keine Kopfnummer

Hallo nochmal,

jetzt habe ich mal herumprobiert, nur etwas bekomme ich nicht ganz auf die Reihe:

Im PTP modus bekomme ich ja - wie gesagt - mit

"exten => s,1,waitfordigits(10000)"

die Durchwahl als "DAD" mitgeschickt. Im PTMP Modus des Treibers kommt nichts daher...

"exten => s,1,waitfordigits(10000,20,,?:noidea: ?)"

laut show application waitfordigits muss dort so etwas wie "AST_CONTROL_PROCEEDING" hineingeschrieben werden, doch ich wurde da nicht ganz schlau draus.
 
Das wäre eine gute Frage für den Programmierer. Der ist aber seid zwei Tagen schon nichtmehr online gewesen. Vielleicht Urlaub. Warten wir einfach mal...

Prinzipiell würde ich ja sagen, dass man doch den PTMP-Modus benutzen sollte, wenn der Anschluss auch ptmp ist. Wer sich bei der Telekom Austria so einen Mist ausgedacht hat...
 
tja, dass man hier einmal den programmierer fragen könnte, war wohl auch schon mein hintergedanke. danke für die bestätigung - und schöne feiertage :D


PS: noch etwas zum nachdenken: ein POTS-Anruf auf die Durchwahl 88, misdn Treiber wurde im PTP-Modus geladen (im PTMP zeigt dad nichts an...)

*CLI> misdn show channel mISDN/2-1
* Pid:8 Prt:2 Ch:1 Mode:TE Org:I dad:88 oad:0471282080 rad: ctx:from-isdn state:DIALING
Not Overwriting extension:88 with new Number: s88
Not Sending any control to Channel 88
P[ 2] Sending msg, prim:35a80 addr:0 dinfo:40004
P[ 2] CC_RELEASE_COMPLETE|CONFIRM [TE]
P[ 1] Sending msg, prim:30783 addr:0 dinfo:50001
*CLI>
 
ach ja, und etwas darf ich nicht vergessen zu dokumentieren:

wenn immediate=no eingestellt ist, funktionieren ja die Durchwahlen im PTMP Modus problemlos. Das sieht dann so aus (Durchwahl 88 = Voicemail):

Code:
*CLI>     coding=0 location=0 progress=3
P[ 2] I IND :SETUP oad:471282080 dad:
P[ 2] read_config: Getting Config
P[ 2] config_jb: Called
P[ 2] I SEND:SETUP_ACKNOWLEDGE oad:0471282080 dad:
P[ 2]  --> bc_state:BCHAN_CLEANED
P[ 2] Sending msg, prim:30d80 addr:0 dinfo:40004
P[ 2] MGMT: SSTATUS: L2_ESTABLISH
P[ 2] I IND :INFORMATION oad:0471282080 dad:
    -- Executing VoiceMailMain("mISDN/2-1", "s0471282080") in new stack
P[ 2] * ANSWER:
P[ 2]  --> ECHO OFF
P[ 2] I SEND:CONNECT oad:0471282080 dad:88
P[ 2]  --> bc_state:BCHAN_ACTIVATED
P[ 2] bchannel_activate: BC Not properly upsetted (state:BCHAN_ACTIVATED) addr:50010202
P[ 2] Sending msg, prim:30780 addr:0 dinfo:40004
P[ 2] bchannel_activate: BC Not properly upsetted (state:BCHAN_ACTIVATED) addr:50010202
P[ 2] I IND :CONNECT_ACKNOWLEDGE  oad:0471282080 dad:88
P[ 2] bchannel_activate: BC Not properly upsetted (state:BCHAN_ACTIVATED) addr:50010202
    -- Playing 'vm-login' (language 'de')
    coding=0 location=2 progress=8
P[ 2] I IND :DISCONNECT oad:0471282080 dad:88
P[ 2] I SEND:RELEASE oad:0471282080 dad:88
P[ 2]  --> bc_state:BCHAN_RELEASE
P[ 2] Sending msg, prim:34d80 addr:0 dinfo:40004
P[ 2] I IND :RELEASE_COMPLETE oad:0471282080 dad:88
P[ 2] Trying to Release bc with l3id: 40004
P[ 2] * RELEASING CHANNEL pid:4 ctx:from-isdn dad:88 oad:0471282080 state: CONNECTED
Jun  2 19:43:31 WARNING[13082]: app_voicemail.c:4974 vm_authenticate: Couldn't read username
P[ 2] I IND :CLEAN_UP oad: dad:
P[ 2] CLEARSTACK queued, cleaning up

Und hier ein Anruf auf die blanke Kopfnummer, dies endet nach ca. 15 Sekunden in einem Besetztton...

Code:
*CLI>     coding=0 location=0 progress=3
P[ 2] I IND :SETUP oad:471282080 dad:
P[ 2] read_config: Getting Config
P[ 2] config_jb: Called
P[ 2] I SEND:SETUP_ACKNOWLEDGE oad:0471282080 dad:
P[ 2]  --> bc_state:BCHAN_CLEANED
P[ 2] Sending msg, prim:30d80 addr:0 dinfo:40005
P[ 2] MGMT: SSTATUS: L2_ESTABLISH

*CLI> P[ 2] I IND :INFORMATION oad:0471282080 dad:
 
Zuletzt bearbeitet:
jetzt geht's, aber nicht lange...

offensichtlich muss - obwohl die /etc/misdn-init.conf vom chan_misdn gelesen wird - ports=1ptp,2ptp angegeben werden.

Dann funktioniert die Durchwahl immer - im PTP Modus... der * hängt sich auch nicht auf.

Nur dauert ein Telefonat max 2 Minuten, dann kommt entweder
- ein Besetzt-Ton oder
- das DÜDÜDÜ Rufnummer unbekannt

Jetzt lasse ich die Telekom den TE-Anschluss von PTMP auf PTP umstellen, dann hoffe ich, passt alles! :)::zitter:::)
 
Halli Hallo,

jetzt hat die Telekom Austria auf PTP umgestellt, mit "show misdn config" wird aber gezeigt, dass PTP auf beiden HFC-Karten auf NO eingestellt ist...

Jedenfalls brechen Telefonate jetzt nicht mehr ab, was auch gut ist, nur hat sich nichts geändert, POTS-Telefone können immer noch nicht durchwählen, wenn immediate=yes ist, sonst schon... :noidea:

Beim POTS-Anruf kommt es zu folgendem Szenario mit waitfordigits(4000)
Code:
P[ 2] Sending msg, prim:30d80 addr:0 dinfo:40006
    -- Executing Set("mISDN/2-1", "TIMEOUT(digit)=3") in new stack
    -- Digit timeout set to 3
    -- Executing Set("mISDN/2-1", "TIMEOUT(response)=5") in new stack
    -- Response timeout set to 5
    -- Executing waitfordigits("mISDN/2-1", "4000") in new stack
You passed timeout:4000 maxnum:20 addexten:0 control:0
Not Overwriting extension:88 with new Number: s88
Not Sending any control  to Channel 88
  == Auto fallthrough, channel 'mISDN/2-1' status is 'UNKNOWN'
P[ 2] Sending msg, prim:35a80 addr:0 dinfo:40006
P[ 2] CC_RELEASE_COMPLETE|CONFIRM [TE]
Warum kann Asterisk hier nicht einfach die Durchwahl 88 annehmen?

Hier ist noch der betroffene Context, vielleicht habe ich da ja einen blöden Fehler drin, den Ihr vielleicht seht - ich bin schon fast blind:cool:
Code:
[from-isdn]
include => SIP
exten => s,1,Set(TIMEOUT(digit)=3)
exten => s,n,Set(TIMEOUT(response)=5)
exten => s,n,WaitForDigits(4000)
exten => s,n,Wait(1)
exten => s,n,Answer
exten => s,n(restart),Dial(SIP/empfang&LOCAL/90015privat&LOCAL/90015markus&LOCAL/90015herbert,45,m(native)hHtTwW)
 
Und hier ein Anruf ohne waitfordigits

durch die Umstellung auf den PTP Modus ist jetzt die Durchwahl schon bei der Anwahl ersichtlich (DAD:, DAD:8, danach wartet * auf das Timeout, danach kommt DAD:88)

Code:
*CLI>     coding=0 location=0 progress=3
P[ 2] I IND :SETUP oad:471282080 dad:
P[ 2] read_config: Getting Config
P[ 2] config_jb: Called
P[ 2] I SEND:SETUP_ACKNOWLEDGE oad:0471282080 dad:
P[ 2]  --> bc_state:BCHAN_CLEANED
P[ 2]  --> incoming_early_audio off
P[ 2] * Starting Ast ctx:from-isdn dad: oad:0471282080 with 's' extension
P[ 2] Sending msg, prim:30d80 addr:0 dinfo:4000f
    -- Executing Set("mISDN/2-1", "TIMEOUT(digit)=7") in new stack
    -- Digit timeout set to 7
    -- Executing Set("mISDN/2-1", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10
    -- Executing Wait("mISDN/2-1", "1") in new stack
P[ 2] I IND :INFORMATION oad:0471282080 dad:
P[ 2] I IND :INFORMATION oad:0471282080 dad:8
    -- Timeout on mISDN/2-1
  == CDR updated on mISDN/2-1
    -- Executing Goto("mISDN/2-1", "s|1") in new stack
    -- Goto (from-isdn,s,1)
    -- Executing Set("mISDN/2-1", "TIMEOUT(digit)=7") in new stack
    -- Digit timeout set to 7
    -- Executing Set("mISDN/2-1", "TIMEOUT(response)=10") in new stack
    -- Response timeout set to 10
    -- Executing Wait("mISDN/2-1", "1") in new stack
    -- Executing Answer("mISDN/2-1", "") in new stack
P[ 2] * ANSWER:
P[ 2]  --> ECHO OFF
P[ 2] I SEND:CONNECT oad:0471282080 dad:88
P[ 2]  --> bc_state:BCHAN_ACTIVATED
P[ 2] bchannel_activate: BC Not properly upsetted (state:BCHAN_ACTIVATED) addr:50010202
    -- Executing Dial("mISDN/2-1", "SIP/empfang&LOCAL/90015privat&LOCAL/90015markus&LOCAL/90015herbert|45|m(native)hHtTwW") in new stack
 
jetzt muss ich - wahrscheinlich das letzte mal - lästig sein. :eek: :D

Denn durch die Eintragung von

WaitExten(2) anstatt WaitForDigits(4000) (oder andere Zeitangaben)
funktioniert die Durchwahl jetzt auch für POTS-Telefone.

---> so einfach war die Lösung :rolleyes:

einziger Nachteil, ist aber zu verkraften:
2 Sekunden extra Wartezeit für alle Anrufer!

Danke nochmal an die Leute von beronet für chan_misdn und mISDN!!!
 
Leider muß ich diesen Thread jetzt nochmals aufgreifen:

-Ich hatte zwischenzeitlich einiges um die Ohren, und musste mich mit zaphfc begnügen...

Nun hab ich wieder etwas Zeit, und bin daran, meine TK neu aufzusetzen.

Mit der im vorherigem Post beschriebenen Lösung (2 sec. warten) kann ich hier leider keine Lösung erreichen.

Das Problem liegt immer noch daran, daß chan_misdn einen Anruf ohne DID einfach nicht auswertet:

misdn 0.3.1-rc23
Karte (hfcpci) als te_ptp konfiguriert,
in der misdn.conf brauche ich immediate=no, damit Duchwahlen, die keine Blockwahl darstellen funktionieren (Hier in Österreich, bei Rufen von analogen Teilnehmern "Nachwahl" genannt)

Hier die Ausgaben von einem Anruf direkt auf die Kopfnummer ohne Durchwahl:
Code:
Connected to Asterisk 1.2.12.1 currently running on fileserver (pid = 22669)
Verbosity is at least 3
P[ 1] I IND :SETUP oad:676xxxxx dad: pid:2 state:none
P[ 1]  --> channel:1 mode:TE cause:16 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:2 dnumplan:  rnumplan:  cpnnumplan:0
P[ 1]  --> Bearer: Speech
P[ 1]  --> Codec: Alaw
P[ 0]  --> * NEW CHANNEL dad: oad:676xxxxxx
P[ 1]  --> CTON: Unknown
P[ 1] EXPORT_PID: pid:2
P[ 1]  --> PRES: Restricted (0)
P[ 1]  --> SCREEN: Unscreened (0)
P[ 1]  --> sending_complete so we never match ..
P[ 1] I SEND:RELEASE oad:0676xxxxxx dad: pid:2
P[ 1]  --> bc_state:BCHAN_CLEANED
P[ 1]  --> channel:1 mode:TE cause:16 ocause:1 rad: cad:
P[ 1]  --> info_dad: onumplan:2 dnumplan:  rnumplan:  cpnnumplan:0
P[ 1] I IND :RELEASE_COMPLETE oad: dad: pid:2 state:EXTCANTMATCH
P[ 1]  --> channel:0 mode:TE cause:-1 ocause:16 rad: cad:
P[ 1]  --> info_dad: onumplan:0 dnumplan:0 rnumplan:0 cpnnumplan:0
P[ 1] hangup_chan
P[ 1] -> hangup
P[ 1] * IND : HANGUP    pid:2 ctx:from-pstn dad: oad:0676xxxxxxx State:EXTCANTMATCH
P[ 1]  --> l3id:20001
P[ 1]  --> cause:-1
P[ 1]  --> out_cause:-1
P[ 1]  --> state:EXTCANTMATCH
P[ 1] Channel: mISDN/1-1 hanguped new state:CLEANING
P[ 1] release_chan: bc with l3id: 20001

Also bräuchten wir ein zusätzliches Timeout in der immediate-Section, damit wir Nachwahlen "abwarten" können..




Eventuell ist es ja von Nutzen:
Code:
Junghanns macht das so:

 } else {
				if ((pri->nodetype == BRI_CPE) && (!pri->overlapdial)) {
		           /* fix for .at p2p bri lines */
						    pri->pvts[chanpos]->exten[0] = 's';
 
Zuletzt bearbeitet:
hi poweron ich hab auf misdn.org in den chan_misdn FAQs einen beispiel inbound context für Österreich gemacht. schau dir das bitte mal an damit sollten sowohl die festen druchwahlen, als auch die hauptnummer vernünftig funktionieren.
 
Danke Christian!
-schau mir das gleich mal an.
 
Danke!

es funzt jetzt - großartig!
 
Hallo Christian,
nachdem ich auch Probleme habe, wenn von einem analog- oder ISDN-Anschluß "per Hand" (also ohne Blockwahl) gewählt wird, habe ich deinen zitierten Tip:

hi poweron ich hab auf misdn.org in den chan_misdn FAQs einen beispiel inbound context für Österreich gemacht. schau dir das bitte mal an damit sollten sowohl die festen druchwahlen, als auch die hauptnummer vernünftig funktionieren.

versucht. Mein Asterisk 1.4.21.2 auf Debian etch behauptet aber, er kenne die Applikation "Waitfordigits" nicht. :(

Bei Blockwahl (Handy) komme ich sowohl auf die s-Extension ohne Durchwahl, als auch auf die durchgewählten Nebenstellen.

Danke im voraus für einen heißen Tip.
Grüße
Karl
 
Hallo an alle,

Problem gelöst. Es war mein Unwissen (Dummheit klingt nicht gut) :eek:

Ich habe mir von der beronet-website das app_bundle heruntergeladen und laut README installiert. Jetzt gibt es die Application und es haut hin. :)

Ich habe allerdings den Parameter "maxdigits", den ich auf vier setzen wollte wieder herausgenommen, da waitfordigits bereits nach drei gewählten Ziffern versucht hat weiterzumachen. Offenbar nimmt er die s-extension noch mit und ersetzt sie erst später mit den nachgewählten Ziffern. Eine 5 wäre vielleicht richtig gewesen, aber ohne geht es nun auch und es ist schon zu spät zum Arbeiten:D

Grüße
Karl
 
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.