Least Cost Routing komplett!

So recht hilft mir Deine Antwort nicht weiter. Abgesehen davon sehe ich in dem Auszug der Version 1.6 irgendwie kein "|" ...
 
BUG in asterisk LCR

Ich benutze eine Telekom Flatrate die es mir erlaubt in alle benachbarten Länder das Festnetz kostenlos anzurufen, ausserdem habe ich noch einen sipgate plus flat dazugebucht.
Im Sipgate Tarif sind Länder dabei die nicht von der Telekom Flatrate abgedekt werden.

Ich folgende configuration erstellt.
Code:
Zonen: Nur Mobilfunk der Zielländer

Tarif: DTAG Call Profi Premium   Flatrate Montag bis Sonntag

Zusätzlicher Flatratetarif: Ja über SIP/1234443e0

Optionen: nicht relevant


Weltzone nicht Programmieren: Ja

Fallback immer ungleich des Erstwahlverbindungstyps: Ja

Bevorzuge mit Preisansage JA

Gebührenimpuls: Egal

Verwende bei folgenden Zonen nur Tarife mit sekundengenauer Abrechnung: Tarife mit Minutentakt

Vorwahlen die immer über den Preselectionanbieter geführt werden sollen:
0032,0045,0033,00352,0043,0048,00420,0031,0041,001

Vorwahlen die immer über einen bestimmten Anbieter geführt werden sollen (freie zuordnung): 
00359,00372,00358,0030,0044,00353,0039,00371,00370,00356,0040,0046,00386,0034,0036,00357 Provider : SIP/1234443e0 fallback 01033
Call By Call ohne Anmeldung: alles mit hoher verfügbarkeit

Call by Call MIT Anmeldung : nix

IP-Telefonie: haken bei sipgate plus (SIP/1234443e0)

nach meinem ermessen, sollten nun alle nummern die mit den Vorwahlen die unter freier zuordnung stehen über sipgate geroutet werden. Dies ist jedoch nicht der Fall.
"Verdammt ich bekomm hier noch graue Haare:mad:" <---Anmerkung des Schreibers
Ist das ein BUG im Server oder ein Bug im AGI? Währe nett wenn Ihr euch das mal anschauen könntet.

Ach ja ich verwende die 1.33 Stable.

Danke für eure Mühe!

Gruß M.
 
ael Macro für asterisk 1.6

nachdem ich auf Asterisk 1.6 mit dem tsblcr Macro immer wieder
Probleme hab und mein Dialplan eh in ael geschrieben ist hab ich mir mal ein
Macro geschrieben, was etwas kompakter ist und auf meinem Asterisk 1.6.1
soweit stabil läuft.

Code:
macro tsb_lcr(called_number, lcr_table, trunk, dial_timeout, dial_options)
{
  agi(tsblcr.agi,${lcr_table},${called_number});

  if( "${TSBLCRROUTING}" == "disabled" | "${TSBLCRROUTING}" == "" )
  {
    Answer;
    Playback(ss-noservice);
    Hangup;
  }

  for (x=1; ${x} <= ${FIELDQTY(TSBLCRROUTING, )}; x=${x} + 1) {
    Set(CBC=${CUT(TSBLCRROUTING," ",${x})});
    Set(CDR(userfield)=${CBC});

    if( "${CBC:0:5}" == "@SIP/" )
    {
      Dial(sip/${CBC:5}/${called_number},${dial_timeout},${dial_options});
    }

    if ( "${CBC:0:6}" == "@IAX2/" )
    {
      Dial(iax2/${CBC:6}/${called_number},${dial_timeout},${dial_options});
    }

    if ( "${CBC}" == "preselection" )
    {
      Dial(${trunk}/${CBC}${called_number},${dial_timeout},${dial_options});
    }

    if ( ${REGEX("^[0-9][0-9]*$" ${CBC})} == 1) {
      Dial(${trunk}/${CBC}${called_number},${dial_timeout},${dial_options});
    }

    if ( "${DIALSTATUS}" == "ANSWER" | "${DIALSTATUS}" == "NOANSWER" )
    {
      return;
    }
  }
  return;
}

Es sollte eigentlich soweit selbsterklärend sein

called_number = zu rufende nummer
lcr_table = lcr Datei
trunk = Festnetzleitung für das Dial Kommando
dial_timeout = Timeout für das Dial Kommando
dial_options = Optionen für das Dial kommando

Das Macro proiert dann in einer Schleife solange alle
Anbieter durch bis ein timeout erreicht wird (es klingelt
aber keiner geht ran) oder die Gegenstelle das Gespräch annimmt.

Vielleicht kanns ja jemand gebrauchen ....
 
Hallo Community,

ich versuche mich jetzt schon einige Zeit das tsblcr Makro im Dialplan in gang zu bekommen, doch leider scheitere ich hier vermutlich an meiner Konfiguration.
Das SIP-Konto 621 ist auf einer FritzBox7170 aktiv, die das ISDN in meinem Netzwerk zu Verfügung stellt.
Die Abgehende MSN stelle ich über die Variable MSN (SIP Konto auf Fritz Box) ein.

Problem dürfte hier in der tsblcr extension die Variable CBC seien die mir den langen String vor die Rufnummer setzt.
Wie behebe ich das oder wie wende ich das Makro in meinem Falle richtig an?


mfg

extensions.conf:
exten => _01[567]./901,1,Set(MSN=623)
exten => _01[567]./902,1,Set(MSN=621)
exten => _01[567]./903,1,Set(MSN=622)
exten => _01[567]./920,1,Set(MSN=622)
exten => _01[567]./921,1,Set(MSN=622)
exten => _01[567].,n,Macro(tsblcr,${EXTEN},/etc/asterisk/lcr/tsblcr.routing,${MSN},,SIP/${MSN},/etc/asterisk/sip.conf)
;exten => _01[567].,n,Dial(SIP/${MSN}/${EXTEN})
exten => _01[567].,n,Hangup()


Asterisk Log:
Dial("IAX2/902-9404", "SIP/621/010091 010091 010091 010029 010029 010029 preselectionxxxxxxxxxxx,,Tt") in new stack
== Using SIP RTP CoS mark 5
-- Called SIP/621/010091 010091 010091 010029 010029 010029 preselectionxxxxxxxxxxx
-- SIP/621-0000002c is making progress passing it to IAX2/902-9404
-- Got SIP response 486 "Busy Here" back from 192.168.1.3:5060
-- SIP/621-0000002c is busy
 
Holen Sie sich 3CX - völlig kostenlos!
Verbinden Sie Ihr Team und Ihre Kunden Telefonie Livechat Videokonferenzen

Gehostet oder selbst-verwaltet. Für bis zu 10 Nutzer dauerhaft kostenlos. Keine Kreditkartendetails erforderlich. Ohne Risiko testen.

3CX
Für diese E-Mail-Adresse besteht bereits ein 3CX-Konto. Sie werden zum Kundenportal weitergeleitet, wo Sie sich anmelden oder Ihr Passwort zurücksetzen können, falls Sie dieses vergessen haben.