[gelöst] "least cost routing" zwischen 2 asterisk

*newbie

Neuer User
Mitglied seit
14 Nov 2005
Beiträge
3
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte für meine miteinander per SIP verbundenen Asterisk Anlagen eine art "Least Cost routing" einführen.

Folgende Konfiguration besteht:
Asterisk1: Standort Deutschland
Asterisk2: Standort Frankreich

Die Anlagen haben jeweils eine digium ISDN karte und sind per SIP "verbunden".

Um telephonkosten zu sparen, sollen alle von asterisk1 ausgehenden Gespräche die mit 0033 (landesvorwahl frankfreich) beginnen, an asterisk2 per sip weitergeleitet werden, asterisk2 wählt sich dann ins PSTN ein.
Anstatt einem internationalen Gespräch, würde dann nur ein nationales Gespräch geführt werden.

extension.conf von asterisk1
Code:
;Nebenstellen Paris über SIP
exten => _3XXX,1,Macro(paris,${EXTEN})

;call forwarding nach Paris für Nummern mit frnz. landesvowahl
exten => _0033X.,1,Macro{paris,${EXTEN}}

exten => _0.,1,SetCIDNum(meine_telephonnummer${CALLERIDNUM})
exten => _0.,2,Dial(ZAP/g1/${EXTEN:1})

[macro-paris]
exten => s,1,Dial(SIP/${ARG1}@paris)

Ich habe nun das Problem das die Gespräche für 0033.... direkt von asterisk1 in das pstn geroutet werden und nicht per SIP an asterisk2, und von dort in das PSTN.

debug log mit asterisk -rvv show channels auf asterisk1
Code:
-- Executing SetCIDNum("SIP/1036-0796", "meine_telephonnummer1036") in new stack
    -- Executing Dial("SIP/1036-0796", "ZAP/g1/0033******") in new stack
    -- Called g1/0033*******

Über einen Tip wäre ich dankbar.

regards,
freddy
 
Müsste das nicht vollständigerweise:

exten => _0X.,1,SetCIDNum(meine_telephonnummer${CALLERIDNUM})
exten => _0X.,2,Dial(ZAP/g1/${EXTEN:1})

heissen? Oder darf ich das X einfach weglassen?
 
ich möchte für meine miteinander per SIP verbundenen Asterisk Anlagen

Das ist ja gruslig ... da wird extra ein Protokoll namens IAX "Inter-Asterisk-eXchange" entwickelt, und einige Leute verbinden die per SIP :roll:

Mal angenommen, Du hättest die Server per IAX verbunden, dann würde das einfach so aussehen:

Vom asteriskFR (Frankreich) eine 0049 Nummer:
exten => _0049.,1,Dial(IAX2/voipfr:passfr@asteriskDE/${EXTEN},60)

auf dem asteriskDE muß dazu folgendes definiert sein:
in der IAX.conf:

Code:
[voipfr]
type=friend
username=voipfr
context=default
auth=plaintext
secret=passfr
default=(IP-Adresse des Servers in Frankreich)

in der extensions.conf muß dann in [default] festgelegt sein, was mit den eingehenden Anrufen passiert -> also Dein Dial-Out über ISDN ins deutsche Festnetz.

Das Ganze funktioniert natürlich auch umgekehrt.
 
Danke für das feedback.
Ich habe entsprechende iax2 peers eingerichtet, bin mir noch nicht ganz sicher was Status "T" bedeutet...

ger-voip*CLI> iax2 show peers
Name/Username Host Mask Port Status
voipES/voipes 10.34.28.29 (S) 255.255.255.255 4569 (T) Unmonitored
voipFR/voipfr 10.21.16.15 (S) 255.255.255.255 4569 (T) Unmonitored

In der extensions.conf habe ich auf der deutschen asterisk unter [default] folgendes eingetragen:
;call forwarding nach Paris für Nummern mit frnz. landesvowahl
exten => _0033.,1,Dial(IAX2/voipfr-user:p[email protected]/${EXTEN},60)

; 0 als amt für calls ins PSTN wählen
exten => _0.,1,SetCIDNum(meine_telephonnummer${CALLERIDNUM})
exten => _0.,2,Dial(ZAP/g1/${EXTEN:1})

Leider scheint asterisk meine Regel für 0033 zu ignorieren, da ich nachwievor folgendes erhalte:

-- Executing SetCIDNum("SIP/1036-0796", "meine_telephonnummer1036") in new stack
-- Executing Dial("SIP/1036-0796", "ZAP/g1/0033******") in new stack
-- Called g1/0033*******
 
ok, ich hatte ein sorting problem in meiner extensions.conf drin...
 
Kostenlos!

Statistik des Forums

Themen
248,910
Beiträge
2,303,694
Mitglieder
378,544
Neuestes Mitglied
Wolfman23