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.
 

zfxn

Neuer User
Mitglied seit
20 Okt 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
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
 

zfxn

Neuer User
Mitglied seit
20 Okt 2008
Beiträge
5
Punkte für Reaktionen
0
Punkte
0
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.
 

3CX PBX - GRATIS
Linux / Win / Cloud

Neueste Beiträge

Statistik des Forums

Themen
232,919
Beiträge
2,028,145
Mitglieder
351,076
Neuestes Mitglied
Zeitgeist4