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

AWS,CFU,CFB,CFNR bzw. Rufumleitung im AMT mit mISDN ?

Dieses Thema im Forum "Asterisk ISDN mit mISDN" wurde erstellt von jackfritt, 27 Nov. 2006.

  1. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    #1 jackfritt, 27 Nov. 2006
    Zuletzt bearbeitet: 17 Dez. 2007
    GELÖST:AWS,CFU,CFB,CFNR bzw. Rufumleitung im AMT mit mISDN ?

    Ist das möglich und wenn ja wie ?
    Das hier klappt bei mir irgendwie nicht. Bekomme dann immer ein besetzt.
    Code:
    exten => 28,n,dial,misdn/g:port1-3/*21*Nummer#||
    Wie muss ich das machen ?

    Hat jemand eine Lösung für mich ?


    Gruss,

    Jörg
     
  2. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Über chan_capi gehts so auch nicht.

    Code:
     Executing Dial("SIP/Snom14-0849a6c0", "CAPI/ISDN2/*21*xxxxxxxxxxxxxxxxxxxx#||") in new stack
        -- Called ISDN2/*21*xxxxxxxxxxxxxxxxxxxx#
    > ISDN2#02: CAPI INFO 0x349c: Invalid number format
      == ISDN2#02: CAPI Hangingup for PLCI=0x102 in state 4
      == Everyone is busy/congested at this time (1:0/0/1)
    Habe inzwischen auch gelesen das es chan_misdn und chan_capi wohl noch nicht kann.

    Wäre gut zu wissen wann, denn ich brauche sowas ;)

    Gruss,

    Jörg
     
  3. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich habe mir capidivert von hier heruntergeladen und mit angehängtem patch modifiziert damit man auch mehr als eine ISDN Karte ansprechen kann.

    Ruft man dann capidivert ohne Paramter auf sollte der Text selbsterklärend sein.
    Bevor das einwandfrei funktioniert muss man noch folgendes in der misdn-init.conf eintragen:
    te_capi_ptp=

    Es kommt zwar noch eine Fehlermeldung bei Anruf auf einer umgeleiteten MSN
    aber ich denke das is nur ein kosmetisches Problem. Bei mir funktioniert es jedenfalls prima.

    Somit kann der nächste Stromausfall ruhig kommen. Die Telekom hat schließlich bessere USV´s ;) Ich zahle ja schließlich dafür.

    Gruss,

    Jörg
     

    Anhänge:

  4. crich

    crich Mitglied

    Registriert seit:
    1 Sep. 2005
    Beiträge:
    529
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    bin mir nicht ganz sicher wieso man keine * oder # per misdn wählen kann. kannst du dazu mal nen bug auf bugs.beronet.com aufmachen, sonst vergess ich sowas. ich teste das nächste Woche mal.

    chan_misdn kann momentan nur Call Deflection = CD die anderen dinger legen wir evtl. noch in den nächsten Monaten nach.
     
  5. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hallo Christian,

    schön von dir zu hören.

    Werde heute noch den bug aufmachen. Und auch noch mal ein wenig rumtesten.
    Ist ja schliesslich schon einige chan_misdn RC´s her seit ich das getestet hatte. Wäre ja der Knaller wenns nun funktioniert und ich mir die ganze Arbeit mit capidivert umsonst gemacht habe. (Allerdings habe ich wieder andere Sachen dazu gelernt ;) )


    Gruss,


    Jörg
     
  6. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
  7. crich

    crich Mitglied

    Registriert seit:
    1 Sep. 2005
    Beiträge:
    529
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
  8. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Habe nächste Woche Urlaub aber ich werde es zwischendurch mal testen und berichten. Super Sache. Vielen Dank ! Vereinfacht für mich einiges.

    Gruss,

    Jörg
     
  9. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich sehe gerade das ich chan_misdn als source nicht bekomme.

    Außer ich würde die asterisk-trunk Version nutzen. Das is mir aber mittlerweile zu heikel. (Stichwort: Produktivsystem)

    Ich werde also brav warten bis die RC31 rauskommt. ;)

    P.S.: Oder gibt es evtl noch eine andere Möglichkeit das auf asterisk 1.2.XX zu portieren ?

    /EDIT/
    Ich habe gerade was gefunden. Vergiss es ;)
    svn co http://svn.digium.com/svn/asterisk/branches/1.2 asterisk-1.2
    /EDIT/


    Gruss,

    Jörg
     
  10. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Scheinbar muss ich eine bestimmte mISDN Version einsetzen ? Ich bekomme hier einen compile error mit obiger asterisk Version.

    Geladene mISDN Version:

    kernel: Modular ISDN Stack core version (1_1_2) revision ($Revision: 1.40 $)

    Code:
    make CROSS_COMPILE_TARGET= -C misdn
    make[2]: Entering directory `/usr/src/asterisk-1.2/channels/misdn'
    gcc -pipe -c -Wall -ggdb -DMISDN_1_2 -o isdn_lib.o isdn_lib.c
    isdn_lib.c: In Funktion »manager_ec_enable«:
    isdn_lib.c:4288: Fehler: »PIPELINE_CFG« nicht deklariert (erste Benutzung in dieser Funktion)
    isdn_lib.c:4288: Fehler: (Jeder nicht deklarierte Bezeichner wird nur einmal aufgeführt
    isdn_lib.c:4288: Fehler: für jede Funktion in der er auftritt.)
    isdn_lib.c: In Funktion »manager_ec_disable«:
    isdn_lib.c:4336: Fehler: »PIPELINE_CFG« nicht deklariert (erste Benutzung in dieser Funktion)
    make[2]: *** [isdn_lib.o] Fehler 1
    make[2]: Leaving directory `/usr/src/asterisk-1.2/channels/misdn'
    make[1]: *** [misdn/chan_misdn_lib.a] Fehler 2
    make[1]: Leaving directory `/usr/src/asterisk-1.2/channels'
    make: *** [subdirs] Fehler 1
    [root@defi-esser /usr/src/asterisk-1.2]
    
    Gruss,

    Jörg
     
  11. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Ich habe jetz mal chan_misdn-0.3.0-RC31 hier runtergeladen.

    Und dann nach Beschreibung von hier getestet.

    Also funktioniert hier prima mit dem setzen und löschen. Allerdings ist die Beschreibung im Wiki von löschen und prüfen falsch.(Ohne Zugang kann ichs leider nicht ändern ;) )

    Prüfen ist *#21*ZielNr#
    Löschen ist #21#

    Also dann so:
    Code:
    exten => 551,1,Noop(Disable Callforward)
    exten => 552,2,Set(_MISDN_KEYPAD=#21*${MSN}#)
    
    exten => 551,1,Noop(Check Callforward)
    exten => 553,2,Set(_MISDN_KEYPAD=*#21*${TARGET}*${MSN}#)
    
    Hier mal ein nutzbares Beispiel zum ein und ausschalten. Wers gebrauchen kann. Einfach nur die MSN und Zielrufnummern anpassen bzw. gegen Variablen austauschen wer mag(die vielen xxxx Nummern ;) ).

    Code:
    [CD]
    ;Umleitung einschalten
    exten => 905,1,Set(CD=${DB(umleitung/aktuell)})
    exten => 905,n,GotoIf($["${CD}" = "1"]?CD|s-aus|1)
    exten => 905,n,Goto,CD|s-an|1
    exten => s-an,1,Set(DB(umleitung/aktuell)=1)
    exten => s-an,n,Verbose(Umleitung eingeschaltet)
    exten => s-an,n,Set(DUMMY=2)
    exten => s-an,n,Playback(silence/1)
    exten => s-an,n,Set(_MISDN_KEYPAD=*21*xxxxxxxxx14895*xxxxx5#)
    exten => s-an,n,Dial,misdn/g:dialin/
    exten => s-an,n,Hangup
    
    ;Umleitung ausschalten
    exten => s-aus,1,Verbose(Umleitung ausgeschaltet)
    exten => s-aus,n,Set(DUMMY=0)
    exten => s-aus,n,Set(DB(umleitung/aktuell)=0)
    exten => s-aus,n,Playback(silence/1)
    exten => s-aus,n,Set(_MISDN_KEYPAD=#21*xxxx5#)
    exten => s-aus,n,Dial,misdn/g:dialin/
    exten => s-aus,n,Hangup
    
    Funktionieren auch alle andere Keypad Funktionen ? Gibt es vom Switch auch eine Rückmeldung die man in asterisk als Variable nutzen könnte ? Das wäre noch das i-Tüpfelchen ;)


    P.S. : DICKES Lob an crichter für diese gelungene Umsetzung. Ich kaufe auch weiterhin nur Karten von Beronet.

    Gruss,

    Jörg
     
  12. crich

    crich Mitglied

    Registriert seit:
    1 Sep. 2005
    Beiträge:
    529
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    danke fürs Lob :)

    leider kann man nichts als ISDN Nachricht auswerten, was einem sagen kann ob die Umleitung aktiv ist oder nicht (bzw, obs überhaupt geklappt hat), ich hab schon alles mögliche gecheckt ..
     
  13. baeckerman83

    baeckerman83 Mitglied

    Registriert seit:
    1 Sep. 2005
    Beiträge:
    238
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Könnte man denn den Quittungston der zurück kommt nicht weiter leiten ans Telefon?
     
  14. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Also ich bekomme immer eine nette Ansage "Das Dienstmerkmal ist aktiviert" oder " Das Dienstmerkmal wurde deaktiviert" reicht dir das nicht ? Evtl kannste das ja auch nehmen und das Sprachfile auswerten. (Dateigröße ? ;) )

    Gruss,

    Jörg
     
  15. Snuff

    Snuff Aktives Mitglied

    Registriert seit:
    23 Juni 2006
    Beiträge:
    1,149
    Zustimmungen:
    0
    Punkte für Erfolge:
    36
    Beruf:
    Softwareentwickler/Ausbilder
    Ort:
    65529 Waldems (Taunus)
    Hallo, ich habe das jetzt bei mal mit eingebaut

    Allerdings wird die Meldung "Das Dienstmerkmal wurde aktiviert" ständig wiederholt. Kann man den Dialbefehl noch so ausgestalten, dass er nach paar Sekunden dann selbst auf legt. Einmal die Ansage zu hören würde mir ja reichen. Vor allem muss ich das Gespräch aktiv auflegen.

    Gruß Snuff
     
  16. lblabr

    lblabr Neuer User

    Registriert seit:
    18 Mai 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    ich bin noch neu hier und habe mit:

    Callforwarding with Keypad Elements

    Since chan_misdn-0.3.1-rc31 you can modify the Callforwarding rules at your providers switch. To do that chan_misdn supports a channel Variable which is called MISDN_KEYPAD. In this variable you can encode special strings which modify the callforwarding rules in the switch. This is right now tested on German Telekom Switches.


    A sample dialplan could look like:

    exten => 551,1,Noop(Enable Callforward)
    exten => 551,2,Set(_MISDN_KEYPAD=*21*${TARGET}*${MSN}#)

    exten => 551,1,Noop(Disable Callforward)
    exten => 552,2,Set(_MISDN_KEYPAD=*#21#${TARGET}#)

    exten => 551,1,Noop(Check Callforward)
    exten => 553,2,Set(_MISDN_KEYPAD=#21#)

    ;send an empty Setup to port 1, the switch will read the keypad message
    exten => _55X,3,Dial(mISDN/1/)

    experimentiert leider ohne erfolg

    http://www.misdn.org/index.php/FAQ_chan_mISDN#Callforwarding_with_Keypad_Elements

    ich benutze misdn und asterisk 1.6, danke für eure hilfe

    was benötigt ihr für weitere unterstützung ?

    Viele Grüße

    Lars
     
  17. lblabr

    lblabr Neuer User

    Registriert seit:
    18 Mai 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    anbei was misdn macht

    Reloading SIP
    == Using SIP RTP CoS mark 5
    -- Executing [882@sip-2000:1] Verbose("SIP/3000-082cbd50", "Umleitungen ausschalten") in new stack
    Umleitungen ausschalten
    -- Executing [882@sip-2000:2] Set("SIP/3000-082cbd50", "_MISDN_KEYPAD=#21#") in new stack
    -- Executing [882@sip-2000:3] Dial("SIP/3000-082cbd50", "mISDN/g:TE/") in new stack
    P[ 0] --> Group Call group: TE
    P[ 1] Group [TE] Port [1]
    P[ 1] portup:1
    P[ 1] channel with stid:0 not in use!
    P[ 0] --> * NEW CHANNEL dad:(null) oad:(null)
    P[ 0] misdn_new: no exten given.
    P[ 1] * Queuing chan 0x82cf210
    P[ 1] read_config: Getting Config
    P[ 1] --> TON: Unknown
    P[ 1] --> LTON: Unknown
    P[ 1] --> CTON: Unknown
    P[ 0] misdn_call: No Extension given!
    -- Couldn't call g:TE/
    P[ 1] $$$ CLEANUP CALLED pid:6
    == Everyone is busy/congested at this time (0:0/0/0)
    -- Auto fallthrough, channel 'SIP/3000-082cbd50' status is 'CHANUNAVAIL'
    asterix*CLI>
     
  18. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    Hi,

    mir kommt es so vor als hättest du nix in den variablen
    ${TARGET}
    und ${MSN}

    stehn. Kannste du mal den kompletten Code posten und nich nur das
    Beispiel von misdn.org ?

    Ansonsten probier mal mein Beispiel das sollte klappen :)

    Gruss,

    Jörg
     
  19. jackfritt

    jackfritt Mitglied

    Registriert seit:
    28 Dez. 2005
    Beiträge:
    325
    Zustimmungen:
    0
    Punkte für Erfolge:
    16
    chan_lcr und lcr (mISDN V2 bzw. socket branch) wird das im nächsten git update bereitstellen.
    Hier kann mann schonmal lesen wie das dann funktioniert.

    Gruss,

    Jörg
     
  20. freestylermuc

    freestylermuc Neuer User

    Registriert seit:
    14 Okt. 2009
    Beiträge:
    3
    Zustimmungen:
    0
    Punkte für Erfolge:
    1
    #20 freestylermuc, 20 Mai 2011
    Zuletzt bearbeitet: 20 Mai 2011
    AWS Klappt nicht

    Ich habe scheinbar das gleiche Problem wie lblabr.

    Ich nutze eine Trixbox CE 2.8
    misdn Version ist Stack core version (1_1_7_2) revision ($Revision: 1.40 $)

    Mit jackfritts Beispiel bekomme ich:

    -- Executing [905@from-internal:1] Set("SIP/45-b612e2b8", "CD=") in new stack
    -- Executing [905@from-internal:2] GotoIf("SIP/45-b612e2b8", "0?CD|s-aus|1") in new stack
    == Spawn extension (from-internal, 905, 3) exited non-zero on 'SIP/45-b612e2b8'
    -- Executing [h@from-internal:1] Macro("SIP/45-b612e2b8", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/45-b612e2b8", "vw") in new stack
    -- Executing [s@macro-hangupcall:2] NoCDR("SIP/45-b612e2b8", "") in new stack
    -- Executing [s@macro-hangupcall:3] GotoIf("SIP/45-b612e2b8", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] GotoIf("SIP/45-b612e2b8", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] GotoIf("SIP/45-b612e2b8", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s@macro-hangupcall:11] Hangup("SIP/45-b612e2b8", "") in new stack
    == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/45-b612e2b8' in macro 'hangupcall'
    == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/45-b612e2b8'
    trixbox*CLI>

    Die extensions_custom.conf sieht an der Stelle so aus:
    -----

    [CD]
    ;Umleitung einschalten
    exten => 905,1,Set(CD=${DB(umleitung/aktuell)})
    exten => 905,n,GotoIf($["${CD}" = "1"]?CD|s-aus|1)
    exten => 905,n,Goto,CD|s-an|1
    exten => s-an,1,Set(DB(umleitung/aktuell)=1)
    exten => s-an,n,Verbose(Umleitung eingeschaltet)
    exten => s-an,n,Set(DUMMY=2)
    exten => s-an,n,Playback(silence/1)
    exten => s-an,n,Set(_MISDN_KEYPAD=*21*0171XXXXXXX*2424XXXX#)
    exten => s-an,n,Dial,misdn/g:ptmp/
    exten => s-an,n,Hangup

    ;Umleitung ausschalten
    exten => s-aus,1,Verbose(Umleitung ausgeschaltet)
    exten => s-aus,n,Set(DUMMY=0)
    exten => s-aus,n,Set(DB(umleitung/aktuell)=0)
    exten => s-aus,n,Playback(silence/1)
    exten => s-aus,n,Set(_MISDN_KEYPAD=#21*2424XXXX#)
    exten => s-aus,n,Dial,misdn/g:ptmp/
    exten => s-aus,n,Hangup
    -----

    Ich bin der Meinung, es müsste exten => s-aus,n,Dial(misdn/g:ptmp/) heißen - dann bekomme ich jedoch den gleichen Fehler.

    Verwende ich das Beispiel von misdn.org, kommt dabei folgendes raus:

    -- Executing [551@from-internal:1] NoOp("SIP/45-b612e2b8", "Enable Call Forward") in new stack
    -- Executing [551@from-internal:2] Set("SIP/45-b612e2b8", "_MISDN_KEYPAD=*21*0171XXXXXXX*2424XXXX#") in new stack
    -- Executing [551@from-internal:3] Dial("SIP/45-b612e2b8", "mISDN/1/") in new stack
    P[ 0] misdn_call: No Extension given!
    -- Couldn't call 1/
    == Everyone is busy/congested at this time (0:0/0/0)
    -- Executing [551@from-internal:4] Playback("SIP/45-b612e2b8", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer") in new stack
    -- <SIP/45-b612e2b8> Playing 'silence/1.slin' (language 'de')
    -- <SIP/45-b612e2b8> Playing 'cannot-complete-as-dialed.ulaw' (language 'de')
    == Spawn extension (from-internal, 551, 4) exited non-zero on 'SIP/45-b612e2b8'
    -- Executing [h@from-internal:1] Macro("SIP/45-b612e2b8", "hangupcall") in new stack
    -- Executing [s@macro-hangupcall:1] ResetCDR("SIP/45-b612e2b8", "vw") in new stack
    -- Executing [s@macro-hangupcall:2] NoCDR("SIP/45-b612e2b8", "") in new stack
    -- Executing [s@macro-hangupcall:3] GotoIf("SIP/45-b612e2b8", "1?skiprg") in new stack
    -- Goto (macro-hangupcall,s,6)
    -- Executing [s@macro-hangupcall:6] GotoIf("SIP/45-b612e2b8", "1?skipblkvm") in new stack
    -- Goto (macro-hangupcall,s,9)
    -- Executing [s@macro-hangupcall:9] GotoIf("SIP/45-b612e2b8", "1?theend") in new stack
    -- Goto (macro-hangupcall,s,11)
    -- Executing [s@macro-hangupcall:11] Hangup("SIP/45-b612e2b8", "") in new stack
    == Spawn extension (macro-hangupcall, s, 11) exited non-zero on 'SIP/45-b612e2b8' in macro 'hangupcall'
    == Spawn extension (from-internal, h, 1) exited non-zero on 'SIP/45-b612e2b8'
    trixbox*CLI>

    Die extensions_custom.conf sieht hier so aus:

    [CD]
    exten => 551,1,Noop(Enable Call Forward)
    exten => 551,2,Set(_MISDN_KEYPAD=*21*0171XXXXXXX*2424XXXX#)

    exten => 552,1,Noop(Check Call Forward)
    exten => 552,2,Set(_MISDN_KEYPAD =*#21#2424XXXX#)

    exten => 553,1,Noop(Disable Call Forward)
    exten => 553,2,Set(_MISDN_KEYPAD=#21#)

    , Send an empty set to port 1, the switch will read the keypad message
    exten => _55X,3,Dial(mISDN/1/)

    ----

    Es sieht so aus, als würde ihm der leere Dialstring nicht passen - hat jemand ne kreative Idee?