Page 1 of 2 12 LastLast
Results 1 to 10 of 11

Thread: ASTERISK EXPRESSION Syntax Kopfnummer

  1. #1

    Default ASTERISK EXPRESSION Syntax Kopfnummer

    Hallo Leute,

    ich bin gerade dabei mich mit SKILL Based Routing auseinander zu setzen.
    Jetzt will ich anhand der Kopfnummer die mich anruft ein Label setzen.

    Daher dachte ich an "ASTERISK EXPRESSION"

    Mit einer kompletten Nummer (in dem Bsp: Handnummer) klappt es schon, jedoch fehlt mir die Syntax um nur die Kopfnummer anzugeben und alle Durchwahlen hinter der Kopfnummer sollen erkannt werden:

    Code:
    $[ ${MDC_DIALCALLERNUM} = 0171XXXXXX | ${MDC_DIALCALLERNUM} = 0176XXXXXX | ${MDC_DIALCALLERNUM} = 0899999<DW> ]
    Also 0899999XXX -> XXX = DW

    Ich hoffe Ihr könnt mir helfen.

    Merci

  2. #2
    Entwickler Master of the Forum
    Join Date
    17.02.2010
    Posts
    1,177

    Default

    Hallo erstmal,

    schau dir hierzu vielleicht den Artikel an https://wiki.asterisk.org/wiki/displ...riables+Basics

    Grüße
    Markus
    Viele Tips und Tricks findet Ihr in unserer MobyDick Dokumentation

    Follow us:

  3. #3

    Default

    Hi Markus,

    danke für den Tip, geht leider nicht. Syntax scheint in Ordnung (Kein Fehler im Log), jedoch wird das Label nicht vergeben

    Code:
    ${MDC_DIALCALLERNUM:0:4} = 0176XXXXXXX
    Ich wollte auf die Mobil Vorwahl matchen, jedoch funktioniert es leider nicht.

    Noch andere Ideen?

  4. #4
    Entwickler Master of the Forum
    Join Date
    17.02.2010
    Posts
    1,177

    Default

    Hi,

    probier es mal so bitte
    $[ "${MDC_DIALCALLERNUM:0:4}" = "0176" ]
    Grüße
    Markus
    Viele Tips und Tricks findet Ihr in unserer MobyDick Dokumentation

    Follow us:

  5. #5

    Default

    Hallo Markus,

    danke hat funktioniert.

    Letzte frage, kann ich die Labels auf global setzen? Aktuell hinterlege ich Sie auf einen Verteiler mit DW, hätte aber gerne, dass jedes eingehende Gespräch ein Label erhält.

    Gruß

  6. #6
    Entwickler Master of the Forum
    Join Date
    17.02.2010
    Posts
    1,177

    Default

    Re,

    wenn du das nicht über einen Anrufverteiler oder bei den Identitäten usw. setzen möchtest dann könnte ich mir vorstellen, dass über "sub_pre-main" Skript zu tun oder über ein Skript beim Incoming vom Amt.
    Hängt davon ab, was du genau machen möchtest?!

    Gruß
    Markus
    Viele Tips und Tricks findet Ihr in unserer MobyDick Dokumentation

    Follow us:

  7. #7

    Default

    Hallo Markus,

    ich will jedes eingehende Gespräch anhand seiner Nummer erkennen und mit einem Label versehen.
    Wir haben mehr als 100 Kunden und wenn ich anhand der Kopfnummer erkenne, zu welcher Firma der Anruf gehört, kann ich es gleich richtig labeln.

    Jetzt will ich aber nicht unter jeder DW die Labels per Hand pflegen, sondern an einem Ort für alle eingehenden Gespräche.

    Gruß
    Linuxuser

  8. #8
    Entwickler Master of the Forum
    Join Date
    17.02.2010
    Posts
    1,177

    Default

    Re,

    evtl. wäre das dann eine Lösung. Deine Kundenadressen ins Telefonbuch übernehmen. Bei einem Telefonbucheintrag kannst du dann Labels zuweisen.
    Schau dir das mal an.

    Grüße
    Markus
    Viele Tips und Tricks findet Ihr in unserer MobyDick Dokumentation

    Follow us:

  9. #9

    Default

    Hallo Markus,

    danke den kannte ich noch nicht, aber in unserem Telefonbuch sind 16000 Adressen drin, des dauert jahre ...... ;-)
    Ich setzte ja schon "Generisches Label" anhand der Kopfnummer der Firma, jedoch wie beschrieben will ich das auf alle Durchwahlen anwenden und nicht nur auf einzelne.

    Trotzdem danke dir.

    Linuxuser

  10. #10
    Entwickler Master of the Forum
    Join Date
    17.02.2010
    Posts
    1,177

    Default

    Re,

    also wenn du den Skript-Ansatz bevorzugst, dann könntest du das wie gesagt über ein "sub_pre-main" Skript erledigen. Hierzu musst du einfach unter Erweitert->Skripte ein Dialplan-Skript mit dem Kontext anlegen und das nicht einbinden. Im Skript kannst du jetzt z.B. einen System-CALL ausführen, AGI aufrufen (externes Skript), REST-Aufruf oder dergleichen und dann entsprechend den Label setzen. Im Forum sollte schon einiges dazu zu finden sein. Das Skript wird dann bei jedem Anruf ausgeführt, intern wie extern, du solltest also die Ausführung einschränken bzw. Timeouts berücksichtigen.

    Alternativ kannst du auch beim Amt einen alternativen Einstiegskontext angeben, unter den SIP-Optionen des Amtes "context=meinKontext". Diesen kannst du wiederum als Dialplan-Skript anlegen, dort deine Aktionen durchführen und wieder zurück auf den ursprünglichen Kontext des Amtes springen, so dass die Regeln usw. alles greift. Den Kontext musst du dir allerdings raussuchen, mdc_incoming-X (in der mdc_sip_trunk.conf)

    Grüße
    Markus
    Viele Tips und Tricks findet Ihr in unserer MobyDick Dokumentation

    Follow us:

Tags for this Thread

Posting Permissions

  • You may not post new threads
  • You may not post replies
  • You may not post attachments
  • You may not edit your posts
  •