NT Modus ohne Wählton

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Hi!

Hier ein Auszug aus meiner zapata.conf
Code:
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
echocancel = yes
overlapdial = yes
immediate = yes
usecallerid = yes
group = 1
context = voipout
channel => 1-2

An dieser NT-Modus-Karte hängt eine ISDN-Anlage (Elmeg C48m, externer S0). Wenn ich von einem ISDN-Telefon (internen S0) mir mit der 0 ein Amt geben lasse, höre ich KEINEN Wählton - anders als wenn ich die Anlage direkt an den T-COM NTBA hänge.

BTW. Es funktioniert sowohl die Wahl bei aufgelegtem Hörer (und danach abheben) oder erst abheben und dann wählen. (vor dem Timeout). Die Zeiten sind auch sehr angenehm. Egal wie etwa 3 Sekunden bis zur Wahl :)

Also die eigentlich Frage: Wo ist der Wählton???
 
Mit ISDN-Anlage scheint es nicht so recht mit dem ZAPHFC Wählton zu klappen.
immediate=no ist normalerweise wichtig.

Nimmst DU DISA, dann hast du Wählton.
 
Wie sieht deine extensions.conf aus ? Hast du im Context voipout DISA drinstehen ?

Wenn nicht, versuche mal folgendes (übrigens bereits mehrfach hier im Forum gepostet und über die Suchfuntkion bestimmt zu finden;))

extensions.conf
Code:
...
[voipout]
exten => s,1,DISA(no-password|<context zum rauswählen>)
exten => s,2,Hangup
...

zapata.conf
Code:
immediate = no
 
Jaja, DISA habe ich auch probiert, aber das will nicht so richtig ...

Als Alterntative versuche ich mal ob es mit einem ISDN-Telefon direkt am * anders ist.
 
wenn man DISA verwendet spielt übrigens immediate=yes oder immediate=no keine grosse Rolle mehr. Zumindest bei mir.
 
Eigentlich sollte es funzen. So hab ich es bei mir eingestellt. Habe eine elmag c88m - die sollte sich nicht so großartig von deiner unterscheiden.
 
ok, ich probier es mal - aber wie unterscheidest du dann die verschiedenen abgehenden MSNs???
 
Was meinstn denn genau ?
Ich kann mit s/MSN sehen, welches End-Gerät in Asterisk reincallt.
Dann hab ich für 2 User 2 Contexte und es wird per SetCallerID bzw. SetCIDNum die abgehende Nummer gesetzt.
 
kannst du das mal posten? (also die entsprechenden parts der extensions.conf)
 
Habs hinbekommen!!!!

Hi! Habe es hinbekommen!!! Und zwar ziemlich genial!!

Vor allem OHNE DISA!!! Das ist nämlich nervig, weil es 1) eine Verbindung erstellt sobald man sich von der TK-Anlage das *-Amt geben lässt und 2) die Wahl per DTMF erfolgt.

Meine Lösung unterscheidet sich vom Amtsverhalten her jetzt nicht mehr von der Telekom.

Also zunächst die zapata.conf für die NT-Karte
Code:
switchtype = euroisdn
signalling = bri_net_ptmp
pridialplan = local
prilocaldialplan = local
echocancel = yes
overlapdial = no 
immediate = no 
usecallerid = yes
group = 1
context = voipout
channel => 1-2
Wichtig hierbei ist immediate = no und overlapdial =no (wobei bei letzterem yes nur dann Sinn macht, wenn man einen Anlagenanschluss hat, jedenfalls so wie ich es verstanden habe).

Wichtiger ist die extensions.conf. Ich bentze jetzt hier im Beispiel mal zwei MSNs 1111 und 2222
Code:
[macro-callwithmsn]

exten => s,1,SetCallerID(${ARG2})
exten => s,2,SetCIDName(${ARG3})
exten => s,3,Dial(${ELMEG}/0${ARG1},60,Ttr)
exten => s,104,Playtones(busy);
exten => s,105,Busy

[macro-callwithvoip]

exten => s,1,SetCallerID(${ARG2})
exten => s,2,SetCIDName(${ARG3})
exten => s,3,Dial(SIP/${ARG1}@sipgate,60,Ttr)
exten => s,104,Playtones(busy);
exten => s,105,Busy


[voipout-1111]

exten => _.,1,Macro(callwithmsn,${EXTEN},11,name1)
exten => _1*.,1,Macro(callwithvoip,${EXTEN},11,name1)

[voipout-2222]

exten => _.,1,Macro(callwithmsn,${EXTEN},22,name2)
exten => _1*.,1,Macro(callwithvoip,${EXTEN},22,name2)

[voipout]
exten => s,1,NoOP

exten => _X.,1,Goto(voipout-${CALLERIDNUM},${EXTEN},1)
Zur Erklärung: ELMEG geht zur Telefonanlage zurück (dort durch die 0 aber direkt per zweitem externen S0 aufs Telekom-Amt). Ja ist kompliziert, alternativ könnt ihr euch die 0 wegdenken und davon ausgehen dass ELMEG direkt auf den NTBA geht (allerdings muss dann die 22 durch 2222 und die 11 durch 1111 ersetzt werden).

Der Trick ist der Kontext voipout. Mit s,1,NoOP bekomme ich einen Wählton und zwar wegen immediate = no. Und die zweite Extension match alle gewählten Nummern in den Kontext der zur sendenen MSN (von der TK delivered) gehört. Selbstverständlich ist es egal ob ich erst wähle und dann abhebe oder abhebe und dann wähle *g*.

Viel Spass damit!!!

Habe allerdings noch drei Fragen:

1) Ist es ratsam nur die _X. in die entsprechenden Kontexte zu schicken. Kann die Elmeg auch was anderes aufs "Amt" geben ???
2) Wenn ich am ISDN Telefon (interner S0 der Elmeg) die Rufnummernunterdrückung anschalte, ist $CALLERIDNUM auf 'CID withheld' gesetzt und damit existiert kein passender Kontext. Will aber trotzdem in den richtigen Kontext rein um extern die MSNs zu billen bzw. auf evtl. verschiedene Sipgate Accounts.
3) Gibt es sonstige Verbessungen am Code???

Edit: Zu 2: Es muss gehen, denn in chan_zap.c wird per e->ring.callingnum die richtige Absender MSN erkannt. Gibt es dafür auch eine Variable, die ich in der extensions.conf auswerten kann???

Edit2: Habe in channels/chan_zap.c folgende Zeile hinter Zeile 7612 (bristuff-0.1.0.RC2k) eingefügt:
pbx_builtin_setvar_helper(c, "CALLINGNUM", e->ring.callingnum);

Damit bekomme ich die entsprechende Variable gesetzt.... aber gibt es die nicht wirklich schon??? Wie leite ich das an Junghanns weiter??? Rajo??
 
Bin begeistert ! Gut, daß es auch ohne DISA geht. Hatte auch bei mir einige Nachteile, u.a. daß man an unseren Telefonen nicht gesehen hat, was man gewählt. Da stand dann nur die 0 im Display.

Das Problem mit der unterdrückten Rufnummer kannst du evtl. lösen, wenn du es so machst, wie Blacklevel angedeutet hat:
Mach einfach statt einer generellen "_X." Extension mehrere Extensions nach dem Muster:
[voip]
exten => _X./2222,1,Goto(voipout-2222,${EXTEN},1)

exten => _X./1111,1,Goto(voipout-2222,${EXTEN},1)

PS: Was macht der Stern bei exten => _1*. ?
 
Das habe ich versucht, es wollte nicht gehen. Er kennt dann keine gütlige Extension wenn ich nachwähle.

Bzgl. 1* vgl. http://www.ip-phone-forum.de/forum/viewtopic.php?p=22142 Ist damit sicher von der eigentlich Nummer getrennt. Vor allem wenn ich noch eine Regel der Art

exten => _1*Z.,1,Macro(callwithmsn,068xx${EXTEN},22,myname2)

einfüge um Ortsgespräche leichter führen zu können.
 
Re: Habs hinbekommen!!!!

allesOK schrieb:
Hi! Habe es hinbekommen!!! Und zwar ziemlich genial!!

Vor allem OHNE DISA!!!

[...]

Damit bekomme ich die entsprechende Variable gesetzt.... aber gibt es die nicht wirklich schon??? Wie leite ich das an Junghanns weiter??? Rajo??

Nette Lösung :)
jaja... man kann lustige Sachen mit der extensions.conf machen...

Was die Sache mit der Variable betrifft: wüsste jetzt auf Anhieb nix was man da sonst setzen könnte. Wenn Du das als Patch an kapejod schicken möchtest, kannste ihm ja entweder ne mail schreiben oder mal im irc (irc.freenode.net, #asterisk-drinkers) fragen.
 
Da ist aber noch was offen: Wenn ich die Nummer unterdrücke springe ich zwar in den richtigen MSN-Kontext, aber wenn er über ISDN rausgeht, soll er dann auch wirklich die Nummer unterdrücken. Wie stelle ich das fest & wie teile ich das Asterisk mit? SetCallerID("")??
 
allesOK schrieb:
Das habe ich versucht, es wollte nicht gehen. Er kennt dann keine gütlige Extension wenn ich nachwähle.
Stimmt leider.
Irgendwie muß es doch möglich sein. Immerhin zeigt * auf der Konsoole auch bei unterdrückter interner MSN die korrekte abgehende MSN der elmeg an:
Code:
 Accepting call from '2000' to '9624040' on channel 0/1, span 1
 
Richtig und genau diese Variable setze mache ich in mit der Sonderzeile in der extensions.conf per $CALLINGNUM verfügbar. Ein kleiner Blick in die bristuff gepatche channels/chan_zap.c reicht aus. Suche nach .callingnum

PS Habe noch mehr an der Konfiguration geändert. Ich werde sei morgen mal posten ...
 
@allesOK das ohne DISA und Deiner TK-Anlage scheint nur funktionieren, weil Du ein ISDN-Telefon verwendest.
Das unterstützt zusammen mit der TK-Anlage den Blockmode.

Kann ich so bestätigen (bei Wahl mit aufgelegtem Hörer).
Bei abheben muss ich jedoch trotzdem DISA verwenden, ohne geht's einfach nicht. Vielleicht hängt es auch von der TK-Anlage ab.

Bei analogen Telefonen an der TK-Anlage geht es ohne DISA auch nicht. Die schicken bei Wahl mit aufgelegtem Hörer nämlich nicht die Extension als Block zu * durch.

Hierzu ist der DISA ganz gut, d.h der nimmt die einzelnen Nummern an, die das Analog-TEL nacheinander über die TK-Anlage zu * durchschickt.
 
Hmm, gute Frage. Ich werde es mal mit meinen Analog-Telefon an der Anlage probieren. Dauert aber bis heute nachmittag.
 
Hallo!

@allesOK: Was du da geschrieben hast mit der $CALLINGNUM würde mich auch mal interessieren, wie das geht. Funktioniert das schon bei dir?

Viele Grüße!
Benno
 
Ja klar funzt das, allerdings muss man selbst am Code Hand anlegen (siehe entspr. Posting). Habe auch die Jungshanns-Leute schon angeschrieben. Was mich allerdings wundert, es sollte auch mit

exten => _X./MSN,1,Goto ...

funktionieren. Aber das wird wohl nicht korrekt ausgewertet. Mal sehen für welchen Fix sich Junghanns entscheidet ...
 

Statistik des Forums

Themen
244,695
Beiträge
2,216,692
Mitglieder
371,315
Neuestes Mitglied
jack-mack
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.