.titleBar { margin-bottom: 5px!important; }

NT Modus ohne Wählton

Dieses Thema im Forum "Asterisk ISDN mit Bristuff (hfc, zaptel)" wurde erstellt von allesOK, 13 Aug. 2004.

  1. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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???
     
  2. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    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.
     
  3. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
    
     
  4. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  5. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    wenn man DISA verwendet spielt übrigens immediate=yes oder immediate=no keine grosse Rolle mehr. Zumindest bei mir.
     
  6. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  7. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ok, ich probier es mal - aber wie unterscheidest du dann die verschiedenen abgehenden MSNs???
     
  8. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    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.
     
  9. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    kannst du das mal posten? (also die entsprechenden parts der extensions.conf)
     
  10. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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??
     
  11. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    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*. ?
     
  12. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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.
     
  13. rajo

    rajo Admin-Team

    Registriert seit:
    31 März 2004
    Beiträge:
    1,958
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Re: Habs hinbekommen!!!!

    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.
     
  14. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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("")??
     
  15. Fux

    Fux Mitglied

    Registriert seit:
    3 Juni 2004
    Beiträge:
    420
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    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
    
     
  16. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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 ...
     
  17. Blackvel

    Blackvel Mitglied

    Registriert seit:
    4 Mai 2004
    Beiträge:
    624
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Beruf:
    selbständig als IT-Consultant (VoIP, Asterisk, J2E
    Ort:
    Nürnberg, Einsatzorte Schwerpunkt D6-D9 (MCH, STG,
    @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.
     
  18. allesOK

    allesOK Mitglied

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

    wrrdlbrrmpft Mitglied

    Registriert seit:
    17 Juli 2004
    Beiträge:
    263
    Zustimmungen:
    0
    Punkte für Erfolge:
    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
     
  20. allesOK

    allesOK Mitglied

    Registriert seit:
    24 Mai 2004
    Beiträge:
    732
    Zustimmungen:
    0
    Punkte für Erfolge:
    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 ...