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

otaku42

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

Blackvel

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

otaku42

Admin-Team
Mitglied seit
26 Mrz 2004
Beiträge
1,670
Punkte für Reaktionen
0
Punkte
0
Blackvel schrieb:
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) ?
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 :)

Blackvel schrieb:
Ich würde z.B bei mir komplett auf 2000/1000 umstellen, [...] Nur beim ISDN-Tel eben nicht.
Das ist mir neu. Ich denke, das geht, und deswegen wird es von diversen Leuten hier eingesetzt? *nixblick*

Blackvel schrieb:
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) :(
Habe ich noch nie probiert, eventuell gibts intern noch irgendwelche Probleme, durch die diese Weigerungshaltung von * begruendet ist, zweimal DISA zu akzeptieren.

Ciao, Mike
 

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
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 ...

?
 

Blackvel

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

TheChaos

Mitglied
Mitglied seit
23 Apr 2004
Beiträge
479
Punkte für Reaktionen
0
Punkte
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?
 

Blackvel

Mitglied
Mitglied seit
4 Mai 2004
Beiträge
624
Punkte für Reaktionen
0
Punkte
0
Freiton bei ISDN-Telefon :)
 

TheChaos

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

3CX PBX - GRATIS
Linux / Win / Cloud

Statistik des Forums

Themen
232,874
Beiträge
2,027,625
Mitglieder
350,999
Neuestes Mitglied
Danigon