Ausgehende Rufnummer mit Asterisk/FreePBX übertragen

zfxn

Neuer User
Mitglied seit
20 Okt 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
Hallo,

ich möchte meine Festnetznummer über sipgate bei ausgehenden Anrufen übertragen. Telefonieren funktioniert in beide Richtungen einwandfrei.

Funktioniert die Rufnummerübermittlung bei jemandem mit FreePBX bzw.
Trixbox (müsste die gleiche Konfiguration sein) ?
Bzw. kann mir jemand sagen, welche Variable in der Asterisk Konfiguration genau die Rufnummer enthalten muss?
Bei mir wird soweit ich das im Debug-Output vom Asterisk gesehen hab nur CALLERID(all) gesetzt !?!

Ich verwende folgende Versionen:
Ubuntu Server 8.04
bristuff-0.4.0-RC4-xr4
Asterisk 1.4.22
freepbx-2.5.0

Viele Grüße.
 
Gelöst

Problem gelöst...

hab in der extensions_override_freepbx.conf
den context [macro-outbound-callerid] (aus der extensions_additional.conf)
so überschrieben, dass die "Variable" CALLERID(name)=4989${USEROUTCID}
gesetzt wird.

[macro-outbound-callerid]
include => macro-outbound-callerid-custom
exten => s,1,ExecIf($["${CALLINGPRES_SV}" != ""],SetCallerPres,${CALLINGPRES_SV})
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""],Set,REALCALLERIDNUM=${CALLERID(number)})
exten => s,n(start),GotoIf($[ $["${REALCALLERIDNUM}" = ""] | $["${KEEPCID}" != "TRUE"] | $["${OUTKEEPCID_${ARG1}}" = "on"] ]?normcid)
exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM})
exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass)
exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${REALCALLERIDNUM}/outboundcid)})
exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)})
exten => s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}})
exten => s,n,GotoIf($[ $["${EMERGENCYROUTE:1:2}" = ""] | $["${EMERGENCYCID:1:2}" = ""] ]?trunkcid)
exten => s,n,Set(CALLERID(all)=${EMERGENCYCID})
exten => s,n(exit),MacroExit()
exten => s,n(trunkcid),ExecIf($["${TRUNKOUTCID:1:2}" != ""],Set,CALLERID(all)=${TRUNKOUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?exit)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?exit)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n,ExecIf($["${TRUNKOUTCID}" = "4989123456789"],Set,CALLERID(name)=4989${USEROUTCID})
exten => s,n(hidecid),ExecIf($["${CALLERID(name)}"="hidden"],SetCallerPres,prohib_passed_screen)


Die eingefügte Zeile bewirkt, dass CALLERID(name) nur neugesetzt wird wenn im verwendete Trunk als "Outbound Caller ID" 4989123456789 gesetzt ist.

exten => s,n,ExecIf($["${TRUNKOUTCID}" = 4989123456789"],Set,CALLERID(name)=4989${USEROUTCID})


Die Lösung ist sicher nicht die sauberste aber funktioniert...
...vielleicht kann man auch in irgendeinem Trunk-spezifischen context CALLERID(name) setzen und die Vorwahl ohne 0 mit 49 davor aus irgendeiner Variable ziehen.

Grüße
 
Problem gelöst...

hab in der extensions_override_freepbx.conf
den context [macro-outbound-callerid] (aus der extensions_additional.conf)
so überschrieben, dass die "Variable" CALLERID(name)=4989${USEROUTCID}
gesetzt wird.

[macro-outbound-callerid]
include => macro-outbound-callerid-custom
exten => s,1,ExecIf($["${CALLINGPRES_SV}" != ""],SetCallerPres,${CALLINGPRES_SV})
exten => s,n,ExecIf($["${REALCALLERIDNUM:1:2}" = ""],Set,REALCALLERIDNUM=${CALLERID(number)})
exten => s,n(start),GotoIf($[ $["${REALCALLERIDNUM}" = ""] | $["${KEEPCID}" != "TRUE"] | $["${OUTKEEPCID_${ARG1}}" = "on"] ]?normcid)
exten => s,n,Set(USEROUTCID=${REALCALLERIDNUM})
exten => s,n,GotoIf($["foo${DB(AMPUSER/${REALCALLERIDNUM}/device)}" = "foo"]?bypass)
exten => s,n(normcid),Set(USEROUTCID=${DB(AMPUSER/${REALCALLERIDNUM}/outboundcid)})
exten => s,n(bypass),Set(EMERGENCYCID=${DB(DEVICE/${REALCALLERIDNUM}/emergency_cid)})
exten => s,n,Set(TRUNKOUTCID=${OUTCID_${ARG1}})
exten => s,n,GotoIf($[ $["${EMERGENCYROUTE:1:2}" = ""] | $["${EMERGENCYCID:1:2}" = ""] ]?trunkcid)
exten => s,n,Set(CALLERID(all)=${EMERGENCYCID})
exten => s,n(exit),MacroExit()
exten => s,n(trunkcid),ExecIf($["${TRUNKOUTCID:1:2}" != ""],Set,CALLERID(all)=${TRUNKOUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?exit)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n(usercid),GotoIf($["${USEROUTCID:1:2}" = ""]?exit)
exten => s,n,Set(CALLERID(all)=${USEROUTCID})
exten => s,n,ExecIf($["${TRUNKOUTCID}" = "4989123456789"],Set,CALLERID(name)=4989${USEROUTCID})
exten => s,n(hidecid),ExecIf($["${CALLERID(name)}"="hidden"],SetCallerPres,prohib_passed_screen)


Die eingefügte Zeile bewirkt, dass CALLERID(name) nur neugesetzt wird wenn im verwendete Trunk als "Outbound Caller ID" 4989123456789 gesetzt ist.

exten => s,n,ExecIf($["${TRUNKOUTCID}" = 4989123456789"],Set,CALLERID(name)=4989${USEROUTCID})


Die Lösung ist sicher nicht die sauberste aber funktioniert...
...vielleicht kann man auch in irgendeinem Trunk-spezifischen context CALLERID(name) setzen und die Vorwahl ohne 0 mit 49 davor aus irgendeiner Variable ziehen.

Grüße
Zu erwähnen wäre vielleicht noch, dass ich bei meinen Extensions die Outbound CID immer auf die MSN ohne Vorwahl gesetzt hab.
 
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.