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???
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
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.
 

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
420
Punkte für Reaktionen
0
Punkte
16
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
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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.
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
wenn man DISA verwendet spielt übrigens immediate=yes oder immediate=no keine grosse Rolle mehr. Zumindest bei mir.
 

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
420
Punkte für Reaktionen
0
Punkte
16
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.
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
ok, ich probier es mal - aber wie unterscheidest du dann die verschiedenen abgehenden MSNs???
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
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.
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
kannst du das mal posten? (also die entsprechenden parts der extensions.conf)
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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??
 

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
420
Punkte für Reaktionen
0
Punkte
16
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*. ?
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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.
 

rajo

Admin-Team
Mitglied seit
31 Mrz 2004
Beiträge
1,958
Punkte für Reaktionen
0
Punkte
36
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.
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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("")??
 

Fux

Mitglied
Mitglied seit
3 Jun 2004
Beiträge
420
Punkte für Reaktionen
0
Punkte
16
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
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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 ...
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
@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.
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
Hmm, gute Frage. Ich werde es mal mit meinen Analog-Telefon an der Anlage probieren. Dauert aber bis heute nachmittag.
 

wrrdlbrrmpft

Mitglied
Mitglied seit
17 Jul 2004
Beiträge
263
Punkte für Reaktionen
0
Punkte
0
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
 

allesOK

Mitglied
Mitglied seit
24 Mai 2004
Beiträge
732
Punkte für Reaktionen
0
Punkte
0
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 ...
 

Zurzeit aktive Besucher

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,832
Beiträge
2,027,217
Mitglieder
350,920
Neuestes Mitglied
askmeforit79