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

internationales Wählen über PRI/S2M - gelöst

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von rob, 14 Nov. 2005.

  1. rob

    rob Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    399
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo,

    habe ein relativ komisches Problem mit einer PMX-Karte (TE210P) beim Dialout:
    wenn ich internationale Nummern anwählen möchte, dann geht das nur, wenn ich in der zapata.conf einen pridialplan=international einsetze, allerdings funktionieren dann deutsche Anwahlen nicht mehr (ich bekomme dann eine Ansage). Ändere ich den pridialplan wieder auf national, dann gehen die deutschen Nummern, aber keine internationalen (dann gibt's hier ein busy).

    Die Zapata.conf sollte eigtl. O.K. sein - sieht folgendermaßen aus:

    Code:
    [channels]
    language=de
    switchtype=euroisdn
    nationalprefix=0
    internationalprefix=00
    
    ;echocancel=yes
    ;echotraining=100
    ;echocancelwhenbridged=yes
    pridialplan=national
    prilocaldialplan=international
    
    ;immediate=no
    overlapdial=yes
    
    group=0
    context=vonextern
    
    ; PRI port 1 (E1)
    ; context=1
    ; group=1
    signalling=pri_cpe
    channel=>1-15,17-31
    
    ; PRI port 2 (E1)
    ; context=2
    ; group=2
    signalling=pri_cpe
    channel=>32-46,48-62
    
    Die relevanten Stellen aus der extensions.conf sind die folgenden:
    Code:
    [trunk-germ-inklsrv]
    exten => _00049Z.,1,EnumLookup(${EXTEN:3})
    exten => _00049Z.,2,Goto(1000)
    exten => _00049Z.,52,Goto(000${ENUM},2000)
    exten => _00049Z.,102,Goto(2000)
    exten => _00049Z.,1000,SetCIDNum(+49891234567${CALLERIDNUM}|a)
    exten => _00049Z.,1001,Dial(${ENUM})
    exten => _00049Z.,1002,SetCIDNum(${CALLERIDNUM:9|a})
    exten => _00049Z.,1003,Goto(2000)
    exten => _00049Z.,1102,Busy
    exten => _00049Z.,2000,Macro(dialout,${EXTEN:3})
    
    ...
    
    [trunk-international]
    exten => _000Z.,1,EnumLookup(${EXTEN:3})
    exten => _000Z.,2,Goto(1000)
    exten => _000Z.,52,Goto(000${ENUM},2000)
    exten => _000Z.,102,Goto(2000)
    exten => _000Z.,1000,SetCIDNum(+49891234567${CALLERIDNUM}|a)
    exten => _000Z.,1001,Dial(${ENUM})
    exten => _000Z.,1002,SetCIDNum(${CALLERIDNUM:9|a})
    exten => _000Z.,1003,Goto(2000)
    exten => _000Z.,1102,Busy
    exten => _000Z.,2000,Macro(dialout,${EXTEN:3})
    
    ...
    [macro-dialout]
    exten => s,1,Dial(${TRUNKPRI}/${ARG1})
    exten => s,2,Congestion
    exten => s,102,Busy
    
    
    Deutsche Nummern werden zuvor noch ins e.164-Format gewandelt.
    Die gepasteten Einstellungen verwende ich, wenn ich den pridialplan auf international gestellt habe, wenn ich ihn auf national stelle, dann ändere ich die Aufrufzeile des Dial-Makros wieder auf:
    exten => _00049Z.,2000,Macro(dialout,${EXTEN:5})
    damit die richtige Nummer gewählt wird
    Bei der Einstellung auf international und der Wahl einer dt. Nummer (die dann z.B. 498955443322 sein könnte), erhalte ich die Ansage "keine Verbindung unter dieser Vorwahl").

    Laut Doku ist die pridialplan-Einstellung nicht wirklich relevant oder nur bei alten Switches.
    Wie ist denn eigtl. das korrekt Übergabeformat an den S2M? Ich denke, es sollte 3341424344 z.B. für Frankreich sein, oder? Eine dt. Nummer der Form 498941424344 sollte dann doch auch funktionieren.

    Kennt jn. dieses Problem?


    Danke,

    Rob
     
  2. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Am einfachsten dürfte es wohl sein, wenn du pridialplan auf unknown setzt und dann die Nummer 'normal' wählst (also inkl. Nullen am Anfang). Es würde übrigens IMO keinen Sinn machen die pridialplan-Einstellung zu ignorieren und die meisten Switches werden dies auch nicht tun.

    Das Problem mit international und 49 ist auch normal. Man kann ja auch nicht 0049 von nem normalen Telefon wählen.
     
  3. rob

    rob Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    399
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hi Maik,

    leider funktioniert die Auswahl mit pridialplan=unknown auch nicht (es kommt dann ein busy, wenn ich mich recht erinnere).

    Die Info, dass der pridialplan von den meisten switches ignoriert wird, hab ich von der Doku auf voip-info.org.

    Kannst Du vielleicht kurz einen Auszug Deines pri debugs posten, wenn Dein pridialplan auf unknown steht und Du eine internationale Nummer wählst? (v.a. der Abschnitt mit TON/NPI)

    Mit den Einstellungen, die ich probiert habe geht nur entweder Deutschland (das Zaptel-Device wählt Vorwahl ohne führende '0' - sprich 89123456) oder international (Zaptel wählt Land ohne zwei führende '0' - sprich 3341234567).

    Gruß,

    Rob
     
  4. Maik

    Maik Gesperrt

    Registriert seit:
    1 Apr. 2004
    Beiträge:
    1,778
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Leider habe ich zur Zeit keinen Server, der direkt mit ner Telco verbunden ist aber soweit ich mich erinnere habe ich da immer unknown genommen. Das steht auch glaube ich so in irgendeiner Doku der Telekom.

    Du kannst aber auch dynamic nehmen. Dann versucht * automatisch anhand der Nummer den dialplan auswaehlen und die gewählte Nummer entsprechend bearbeiten.
     
  5. rob

    rob Mitglied

    Registriert seit:
    15 Feb. 2005
    Beiträge:
    399
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Mir war nicht ganz klar, wie die Daten an den Switch zu übergeben sind, deshalb waren Fehler im Dialplan und in der zapata.conf

    pridalplan=national
    Der Switch erhält im TON die Info, dass die called number national ist (s. pri debug) und geht dann davon aus, dass es sich um eine deutsche Nummer handelt. Er errwartet dann das folgende Übergabeformat:

    Vorwahl ohne führende Null + Rufnummer

    pridialplan=international
    Der Switch erhält im TON die Info, dass die called number international ist (s. pri debug) und geht dann davon aus, dass es sich um eine internationale Nummer handelt. Er errwartet dann das folgende Übergabeformat:

    Ländervorwahl ohne 2 führenden '0' + Vorwahl + Rufnummer

    pridialplan=unknown
    Der Switch erhält keine Infos über die Nummer und verfährt so damit, wie wir es kennen:
    - Nummer ohne Null = städtische Rufnummer (Addition der Vorwahl im Präfix)
    - Nummer mit einer Null = nationales Gespräch (keine Veränderung der Rufnummer)
    - Nummer mit 2 Nullen = internationales Gespräch (keine Veränderung der Rufnummer).

    Ich habe meinen pridialplan jetzt auf unknown gestellt und meine extensions.conf sieht an den relevanten Stellen folgendermaßen aus:

    [trunk-germ-inklsrv]
    ...
    exten => _00049Z.,2000,Macro(dialout,0${EXTEN:5})
    ...
    [trunk-international]
    ...
    exten => _000Z.,2000,Macro(dialout,${EXTEN:1})
    ...

    Die Nummern werden vor der Auswahl alle auf e.164 konvertiert.
     
  6. clan

    clan Mitglied

    Registriert seit:
    21 Apr. 2005
    Beiträge:
    266
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Das bei 'dialplan=international' und deutscher Rufnummer 'keine Verbindung unter dieser Vorwahl' kommt liegt daran, daß die Telekom keine Ländervorwahl für nationale Gespräche zulässt. Bei 'national' wird davon ausgegangen, daß die erste Ziffer die Ortsvorwahl ist. Versuche doch mal 'local', die Einstellung fehlt noch in diesem Trhread und funktioniert zumindest bei unseren Anlagenanschluß (der allerdings kein PMX ist).