Nummer mit +49

Mr. @

Neuer User
Mitglied seit
26 Jan 2005
Beiträge
7
Punkte für Reaktionen
0
Punkte
0
Hallo Leute,
ich habe alle Nummern im Addressbuch mit +49 gespeichert, weil ich diese mit meinem Handy Synchronisiere.
Ich hatte letzte Woche das Problem, das meine * Maschine diese Nummern nicht akzeptiert hat. Ich habe jetzt folgenden Dialplan erstellt, der mir die Nummer umschreibt und dann an die ISDN Karte übergibt. Ich möchte nun aber Festnetz und Mobile Nummern unterscheiden, weil Mobile nummern über Sipgate laufen sollen.

Kann mir da jemand helfen?

Mein Dialplan:
Code:
[outbound]

;Hier habe ich versucht wenigstens die +49 der Mobilen Nummern zu filtern!

exten => _+491[5-7].,1,NoOp(Dial Mobile +)
exten => _+491[5-7].,n,Dial(SIP/${IF(${EXTEN:0:1}="+"?0${EXTEN:3}:${EXTEN})}@bborg,90,Ttrg)
exten => _+491[5-7].,n,Dial(SIP/${IF(${EXTEN:0:1}="+"?0${EXTEN:3}:${EXTEN})}@doerte,90,Ttrg)
exten => _+491[5-7].,n,Dial(CAPI/contr1/${IF(${EXTEN:0:1}="+"?0${EXTEN:3}:${EXTEN})}/B,90,Ttrg)
exten => _+491[5-7].,n,Hangup()


; Dieser Dialplan funktioniert mit normalen Mobilen Nummern

exten => _01[5-7]x.,1,NoOp(Dial Mobile normal)
exten => _01[5-7]x.,n,Dial(SIP/${EXTEN}@bborg,90,Ttrg)
exten => _01[5-7]x.,n,Dial(SIP/${EXTEN}@doerte,90,Ttrg)
exten => _01[5-7]x.,n,Dial(CAPI/contr1/${EXTEN}/B,90,Ttrg)
exten => _01[5-7]x.,n,Hangup()

; Dieser Dialplan wird zur Zeit für Festnetz und Mobile Nummern mit +<Ländercode> genommen?!

exten => _+XX.,1,NoOp(Dial ISDN +)
exten => _+XX.,n,Dial(CAPI/contr1/${IF(${EXTEN:0:1}="+"?0${EXTEN:3}:${EXTEN})}/b,120,trg)
exten => _+XX.,n,Congestion
exten => _+XX.,102,GotoIf($[${DIALSTATUS} = CONGESTION]?104:110)
exten => _+XX.,104,Playtones(busy);
exten => _+XX.,105,Busy
exten => _+XX.,110,Hangup

exten => _XX.,1,NoOp(Dial ISDN normal)
exten => _XX.,n,Dial(CAPI/contr1/${EXTEN}/b,120,trg)
exten => _XX.,n,Congestion
exten => _XX.,102,GotoIf($[${DIALSTATUS} = CONGESTION]?104:110)
exten => _XX.,104,Playtones(busy);
exten => _XX.,105,Busy
exten => _XX.,110,Hangup

Vielleicht hat ja jemand eine Idee!
Danke
Arne
 
Zuletzt bearbeitet von einem Moderator:
Autsch...

  1. es kommt auf die Reihenfolge der Contexte in der extensions.conf an
  2. deine if Abfrage, ob das erste Zeichen ein + ist, ist absolut unsinnig, da er (wenn es denn überhaupt funktionieren würde) in diese Prio ohnehin nur geht, wenn das erste Zeichen ein + wäre :mrgreen: denn genau das hast Du ja in der exten => _+XX definiert
  3. probier doch einfach mal, das + im Pattern einzuklammen - manchmal hat das schon geholfen; also exten => _[+]XX. zu verwenden, auch wenn es auf den ersten Blick unsinnig aussieht

wie gesagt - der erste Punkt (Reihenfolge) ist eigentlich der wichtigste.
 
Hallo,

wenn ich richtig informiert bin, dann wird von oben nach unten gelesen, oder! Dann sollte die Reihenfolge doch passen.

Wie gesagt, Nummern mit +49 funktionieren, es wird folgender Context genommen:

Code:
exten => _+XX.,1,NoOp(Dial ISDN +)
exten => _+XX.,n,Dial(CAPI/contr1/${IF(${EXTEN:0:1}="+"?0${EXTEN:3}:${EXTEN})}/b,120,trg)
exten => _+XX.,n,Congestion
exten => _+XX.,102,GotoIf($[${DIALSTATUS} = CONGESTION]?104:110)
exten => _+XX.,104,Playtones(busy);
exten => _+XX.,105,Busy
exten => _+XX.,110,Hangup

Ich möchte erreichen, das im ersten Contextabschnitt die Mobilen Nummern, also +XX1[5-7]. genommen werden, da diese über Sipgate laufen sollen.

Wie kann ich denn ohne IF aus der Extension die +49 zu 0 wandeln? Ich bin da noch nicht so firm, sorry.

Danke
 
wenn ich richtig informiert bin, dann wird von oben nach unten gelesen, oder! Dann sollte die Reihenfolge doch passen.

Du solltest Deine Informationen noch einmal überprüfen, speziell wenn es um die Sortierung einer Pattern-Reihenfolge geht.

Wie kann ich denn ohne IF aus der Extension die +49 zu 0 wandeln?

Wenn Du in einer extension bist, in der das Pattern die +49 matcht, brauchst Du doch kein IF mehr, sondern kannst mit :3 einfach die +49 abschneiden und eine 0 davorsetzen.

Code:
exten => _+49X.,1,noop,0${EXTEN:3}

Das wird doch NUR DANN ausgeführt, wenn die gewählte extension mit +49 beginnt - das mußt Du nicht noch einmal mit IF überprüfen.

Ich bin da noch nicht so firm, sorry.

Dann solltest Du Dich mal dringendst mit den Asterisk-Basics beschäftigen. Schau Dir doch mal meinen Asterisk-Einsteigerkurs hier im Forum an.
 
Hallo,

den Asterisk-Einsteigerkurs werde ich mal durcharbeiten und dann, wenn noch Fragen offen sind, werde ich mich melden.

Danke trotzdem :-)
 
Hallo,

ich habe den Kurs jetzt mal durchgearbeitet und hoffe das der Dialplan jetzt so korrekt ist.

Code:
[outbound]
; Mobile Nummer International
exten => _[+]XX1[5-7].,1,NoOp(Dial Mobile +)
exten => _[+]XX1[5-7].,n,Dial(SIP/0${EXTEN:3})@bborg,90,Ttrg)
exten => _[+]XX1[5-7].,n,Dial(SIP/0${EXTEN:3})@doerte,90,Ttrg)
exten => _[+]XX1[5-7].,n,Dial(CAPI/contr1/0${EXTEN:3})/B,90,Ttrg)
exten => _[+]XX1[5-7].,n,Hangup()

; Normale Nummern International
exten => _[+]XXN.,1,NoOp(Dial ISDN +)
exten => _[+]XXN.,n,Dial(CAPI/contr1/0${EXTEN:3}/b,120,trg)
exten => _[+]XXN.,n,Hangup

; Normale Mobile Nummern
exten => _X1[5-7]x.,1,NoOp(Dial Mobile normal)
exten => _X1[5-7]x.,n,Dial(SIP/${EXTEN}@bborg,90,Ttrg)
exten => _X1[5-7]x.,n,Dial(SIP/${EXTEN}@doerte,90,Ttrg)
exten => _X1[5-7]x.,n,Dial(CAPI/contr1/${EXTEN}/B,90,Ttrg)
exten => _X1[5-7]x.,n,Hangup()

; Normale ISDN Nummern
exten => _XN.,1,NoOp(Dial ISDN normal)
exten => _XN.,n,Dial(CAPI/contr1/${EXTEN}/b,120,trg)
exten => _XN.,n,Hangup()

Für Feedback wäre ich euch dankbar.

Arne
 
Eine Änderung würde ich noch machen:

Code:
; Normale Mobile Nummern
exten => _[color=red]0[/color]1[5-7]x.,1,NoOp(Dial Mobile normal)
exten => _[color=red]0[/color]1[5-7]x.,n,Dial(SIP/${EXTEN}@bborg,90,Ttrg)
exten => _[color=red]0[/color]1[5-7]x.,n,Dial(SIP/${EXTEN}@doerte,90,Ttrg)
exten => _[color=red]0[/color]1[5-7]x.,n,Dial(CAPI/contr1/${EXTEN}/B,90,Ttrg)
exten => _[color=red]0[/color]1[5-7]x.,n,Hangup()

Hast Du es denn schonmal ausprobiert?
 
Hallo,

ich kann es zur Zeit nur mit show dialplan XXX testen, da ich in Frankfurt im Hotel sitze in die Maschine in S-H steht und ich keine SoftPhone verbindung habe. Laut show Dialplan sieht alles gut aus.

Mal sehen ... :-)

Danke für Deine Unterstützung!
Arne
 
Wenn ich richtig informiert bin, sind die "special characters" ab der Version 1.4 case sensitive. Daher solltest Du vielleicht noch für "Normale Mobile Nummern" das kleine x gegen ein großes X ersetzen.


Gruß,
Wichard
 
@wichard - Du Spielverderber ;)
 
Hi
was mir gerade noch auffällt:
Code:
; Mobile Nummer International
exten => _[+]XX1[5-7].,1,NoOp(Dial Mobile +)
exten => _[+]XX1[5-7].,n,Dial(SIP/0${EXTEN:3})@bborg,90,Ttrg)
exten => _[+]XX1[5-7].,n,Dial(SIP/0${EXTEN:3})@doerte,90,Ttrg)
exten => _[+]XX1[5-7].,n,Dial(CAPI/contr1/0${EXTEN:3})/B,90,Ttrg)
exten => _[+]XX1[5-7].,n,Hangup()

Das bringt nicht so viel - zumindest wenn man "Mobile Nummer International" Addressieren will. 017(5-7) bzw. +4917(5-7) sind die Mobilen nummern in Deutschland. International - also +XX trifft das nicht zu. Welche Rufnummerkreise für Mobilfunk stehen ist in jedem land anders...(*)

So gesehen kannst du den Kontext so gestallten:
Code:
; Mobile Nummer +49
exten => _[+]491[5-7].,1,NoOp(Dial Mobile +)
exten => _[+]491[5-7].,n,Dial(SIP/0${EXTEN:3})@bborg,90,Ttrg)
exten => _[+]491[5-7].,n,Dial(SIP/0${EXTEN:3})@doerte,90,Ttrg)
exten => _[+]491[5-7].,n,Dial(CAPI/contr1/0${EXTEN:3})/B,90,Ttrg)
exten => _[+]491[5-7].,n,Hangup()

Das hattest du ja schonmal früher gehabt (Zitat: ;Hier habe ich versucht wenigstens die +49 der Mobilen Nummern zu filtern!).
Warum willst du denn überhaupt Mobile Rufnummern abfangen? Routing über anderen Provider? Das ist (imho) das einzige was sinn machen würde. Das wiederrum kann man nur pro Land sinnvoll gestalten - also in erster Linie für Deutschland...

Ich fange übrigens noch lokal in Deutschland die 0180x-Rufnummern ab - und leite Sie über dus.net (imho die günstigsten dafür) und 110/112/19222 (diese auch in Verbindung mit und ohne "Amts-Null" - damit jeder der einen Notruf absetzen will diesen auch durchkriegt - sicher ist sicher).

Gruß
Thorsten

(*) Wenn du eine Quelle brauchst was Mobilfunk ist und was nicht kannst du dir mal anschauen was in dieser Preisliste mit Cellular gekennzeichnet ist:
http://www.voipjet.com/prices.php - das "011" kannst du als Synonym für "+" sehen, also 01149 = +49 = Deutschland
 
Kostenlos!

Statistik des Forums

Themen
247,205
Beiträge
2,263,746
Mitglieder
375,691
Neuestes Mitglied
Prozessionell