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

RFC: DISA-Patch: (first)digittimeout als Dialplan-Parameter

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von otaku42, 14 Juli 2004.

  1. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Moin.

    Die Idee kam mir hier und ist eigentlich recht simpel. Wenn man DISA verwendet, um einen per HFC-S-Karte angeschlossenem ISDN-Telefon einen Waehlton zur Verfuegung zu stellen, ergibt sich nach Eingabe der letzten Ziffer einer Rufnummer eine Wartezeit von 10 Sekunden. Blackvel hatte in einem anderen Posting darauf hingewiesen, dass man diesen Timeout im Source aendern kann - was unter Umstaenden den Nachteil haette, dass DISA fuer andere Einsatzzwecke nicht mehr brauchbar ist (weil die Wartezeit zu kurz wird).

    Meine Idee war nun einfach, die Wartezeit als optionalen Parameter im Dialplan an DISA zu uebergeben, z.B.
    exten => s,1,DISA,no-password|context|2000|1000
    wobei 2000 die Wartezeit (in Milisekunden) fuer die erste Ziffer waere, und 1000 fuer jede nachfolgende Ziffer.

    Die noetige Modifikation waere relativ simpel, ich wuerde mich dann um einen passenden Patch kuemmern. Es gibt aber verschiedene denkbare Wege:
    • Ein Patch fuer DISA, der einen neuen optionalen Parameter hinzufuegt, ueber den (beispielsweise durch ein Komma getrennt) beide Timingwerte uebergeben werden koennen:
      exten => s,1,DISA,no-password|context|2000,1000
    • Ein Patch fuer DISA, der einen neuen optionalen Parameter hinzufuegt, mit dem nur die Wartezeit nach jeder Ziffer geaendert werden kann:
      exten => s,1,DISA,no-password|context|1000
    • Ein Patch fuer DISA, der zwei neue optionale Parameter hinzufuegt:
      exten => s,1,DISA,no-password|context|2000|1000
    • Ein neues app-Modul als "Fork" von DISA, das an diese spezielle Aufgabe angepasst ist:
      exten => s,1,HFCDISA
    Bei einem neuen app-Modul koennte man den Parameter "Passwort" wohl weglassen, da den im Zusammenhang mit einem angeschlossenen ISDN-Telefon wohl kaum einer nutzt. Ansonsten koennte man dort die Defaultwerte niedriger setzen (beispielsweise auf die von Blackvel vorgeschlagenen 2000/1000ms) und mittels optionaler Parameter modifizierbar machen.

    Nun seid ihr dran:

    Wie haettet ihr es gerne?

    Gibt es eventuell noch andere Dinge, die man bei dieser Gelegenheit entweder DISA oder dem eventuell neuen Modul HFCDISA mitgeben koennte?

    Und wer hat einen besseren Namen als HFCDISA? :)

    Ciao, Mike
     
  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,
    Ist der Aufwand wirklich notwendig, nutzen hier Asterisk-User 2x DISA ?
    1x mit langem Timeout und dann 1x kurzem Timeout (macht wie gesagt nur dann Sinn, wenn man die Nummer komplett im Telefon eingibt, und DANN erst auf Wählen drückt) ?

    Ich würde z.B bei mir komplett auf 2000/1000 umstellen, wenn ich mein ISDN-Telefon über meine TK-Anlage dazu bringen könnte, dass der DISA die komplett übergebe Nr. erkennt.
    Beim analogen Telefon geht es ja auch.
    Nur beim ISDN-Tel eben nicht.

    Nuja, vielleicht ist ja Deine Idee doch sinnvoll.

    Mein ISDN-Tel kann ich eben per DISA nicht zum wählen bringen, wenn nur 2000 eingestellt sind.

    z.B ISDN-Tel wählt #9130
    -> Asterisk DISA Freiton, dann sofortiger Hangup :)

    Geht es DISA 2x zu konfigurieren ? Anstatt exten => s,1,DISA -> 80,1,DISA und 90,1,DISA ?
    Bei mir beschwert sich Asterisk dann immer, dass ich keine s-Extension definiert habe (liegt wohl doch am fehlendem Block-Wahl Verwahren einer TK-Anlage) :(
     
  3. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Naja, Aufwand ist das nicht wirklich. app_disa.c umkopieren nach app_hfcdisa.c, die noetigen Aenderungen vornehmen, fertig. Ob es genutzt werden wuerde weiss ich allerdings nicht. Deswegen ja auch meine kleine Umfrage hier :)

    Das ist mir neu. Ich denke, das geht, und deswegen wird es von diversen Leuten hier eingesetzt? *nixblick*

    Habe ich noch nie probiert, eventuell gibts intern noch irgendwelche Probleme, durch die diese Weigerungshaltung von * begruendet ist, zweimal DISA zu akzeptieren.

    Ciao, Mike
     
  4. TheChaos

    TheChaos Mitglied

    Registriert seit:
    23 Apr. 2004
    Beiträge:
    479
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    ich blick hier gerade irgendwie garnix ... mein disa hat auf nummern gewartet. und wenn ich vom isdn tel abgehoben habe, kam auch immer schön das freizeichen und ich konnte wählen, allerdings musste ich halt 10 sekunden warten ...

    ?
     
  5. otaku42

    otaku42 Admin-Team

    Registriert seit:
    26 März 2004
    Beiträge:
    1,670
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    So hatte ich das bisher eigentlich auch verstanden. Blackvel, klaere er uns bitte auf :)

    Ciao, Mike
     
  6. 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,
    Ich denke nicht, dass man mit immediate=no und overlapdial=yes in zapata.conf noch DISA braucht.
    @TheChaos: Kannst das mal bitte ausprobieren ? DISA ist ein Problem mit ISDN TK-Anlage, ohne geht es einfach nicht :(

    Wenn Du abhebst, Nummer wählst, und dann 10 Sekunden wartest, bist Du selbst schuld :)

    Ich Tipp bei mir eben ERST die Nummer und heb dann ab :)
    Und flutsch -> Asterisk wählt sofort nach 1-2 Sekunden die Nummer (siehe obige Erklärung von otaku42).
    Aber da ich es mit Analog-Telefonen an der ISDN-TK-Anlage mache (zaphfc hängt eben an der ISDN TK-Anlage), klappt das so ganz gut. Nur eben nicht mit dem ISDN-TEL an der TK-Anlage.
    Da muss ich erst abheben und dann wählen um in Deinem Context zu reden, TheChaos :) Anders herum geht es nicht, zaphfc+DISA nimmt einfach die gewählte Rufnummer nicht an.

    Deshalb obige Idee 2x DISA zu verwenden mit unterschiedlichen MSNs.
    1x MSN für sofortige Wahl (2000/1000) mit Analog-TEL
    1x MSN für verzögerte Wahl (20000/10000) wie mit dem Standard-DISA.

    Mein ISDN-Tel würde dann eben über den 2. DISA gehen, damit wählen eben mal überhaupt funktioniert.
     
  7. TheChaos

    TheChaos Mitglied

    Registriert seit:
    23 Apr. 2004
    Beiträge:
    479
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    so meinst du das also mit 2. disa :) klingt logisch und wäre sicher ne lösung

    und was soll ich jetzt genau ausprobieren? immediate=no UND overlapdial=yes? ich hab bisher nur immediate=no, was macht overlapdial?
     
  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,
    Freiton bei ISDN-Telefon :)
     
  9. TheChaos

    TheChaos Mitglied

    Registriert seit:
    23 Apr. 2004
    Beiträge:
    479
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    na den freiton hatte ich auch ohne overlapdial=yes ... oder ist das standard an?