Hi,
habe wieder einmal ein herrliches Problem. Ich habe zwei Asterisk Server am laufen. Den einen nutze ich als interne TK-Anlage, den anderen "missbrauche" ich fuer externe Calls. (Ich weiss dafuer gibt es IAX, nutze aber dennoch einen "normalen" Sip Account fuer die Sache). Und wieso ich das ganze sooo kompliziert mache, lassen wir einfach mal so im Raum stehen.. ;-)
Zu meiner Konfig:
Der Externe, der die Verbindung nach aussen machen soll:
sip.conf
extensions.conf
Auf dem internen Server sieht es wie folgt aus:
sip.conf
extensions.conf
D.h. der Interne baut eine SIP-Verbindung zum externen auf, waehle ich von dem Hardphone als basty auf dem internen registriert eine Rufnummer 80693325325 wird dieser String zum externen uebergeben und dort in den Dial-Plan eingefuegt. Das funktioniert! Allerdings fuellt er mir die Variable mit der CALLERID nicht aus, diese bleibt leer.
Wenn ich auf dem internen Server ein SetVar(test=${calleridnum}) und test auslese, habe ich wie gewuenscht den Wert 0692122. Wieso verschwindet dieser Wert dann auf dem externen? Der muesste doch ohne weiteres weitergegeben werden, oder etwa nicht?
Folge: Die Callerid wird nicht vom internen zum externen uebergeben, somit versende ich keine Nummer. Statisch will ich sie nicht einbinden, weil es mehrere Telefone mit unterschiedlichen durchwahlen gibt, die nach aussen bekannt gegeben werden sollen.
Vielen Dank fuer das durchlesen!
habe wieder einmal ein herrliches Problem. Ich habe zwei Asterisk Server am laufen. Den einen nutze ich als interne TK-Anlage, den anderen "missbrauche" ich fuer externe Calls. (Ich weiss dafuer gibt es IAX, nutze aber dennoch einen "normalen" Sip Account fuer die Sache). Und wieso ich das ganze sooo kompliziert mache, lassen wir einfach mal so im Raum stehen.. ;-)
Zu meiner Konfig:
Der Externe, der die Verbindung nach aussen machen soll:
sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
srvlookup=yes
disallow=all
allow=alaw
allow=ulaw
allow=ilbc
maxexpirey=180
tos=reliability
language=de
externip=195.XXX.XXX.XXX
;
[extern]
type=peer
username=extern
secret=passwort
host=dynamic
dtmfmode=rfc2833
qualify=no
insecure=yes
canreinvite=no
context=extern
extensions.conf
Code:
[extern]
exten => _X.,1,Dial(SIP/110049${calleridnum}*20*0049${EXTEN:1}@server.vom.sip.provider,60)
exten => _X.,2,Congestion
exten => _X.,102,Busy
Auf dem internen Server sieht es wie folgt aus:
sip.conf
Code:
[general]
port = 5060
bindaddr = 0.0.0.0
context=intern
srvlookup=yes
disallow=all
allow=ulaw
allow=alaw
maxexpirey=180
tos=reliability
language=de
dtmfmode=rfc2833
register => extern:[email protected]
musiconhold=default
;
[uplink]
type=peer
username=extern
secret=passwort
host=ip.vom.externen
fromuser=extern
authname=extern
canreinvite=no
insecure=very
dtmfmode=inband
dtmf=inband
context=uplink
qualify=no
disallow=all
allow=alaw
allow=ulaw
allow=ilbc
[basty]
type=peer
username=basty
secret=passwort
host=dynamic
dtmfmode=rfc2833
callerid="Bastian Mustermann" <0692122>
qualify=no
insecure=yes
canreinvite=no
context=uplink
callgroup=1
pickupgroup=1
incomminglimit=1
extensions.conf
Code:
[uplink]
exten => _8.,1,Dial(SIP/${EXTEN:1}@uplink,60)
exten => _8.,2,Congestion
exten => _8.,102,Busy
D.h. der Interne baut eine SIP-Verbindung zum externen auf, waehle ich von dem Hardphone als basty auf dem internen registriert eine Rufnummer 80693325325 wird dieser String zum externen uebergeben und dort in den Dial-Plan eingefuegt. Das funktioniert! Allerdings fuellt er mir die Variable mit der CALLERID nicht aus, diese bleibt leer.
Wenn ich auf dem internen Server ein SetVar(test=${calleridnum}) und test auslese, habe ich wie gewuenscht den Wert 0692122. Wieso verschwindet dieser Wert dann auf dem externen? Der muesste doch ohne weiteres weitergegeben werden, oder etwa nicht?
Folge: Die Callerid wird nicht vom internen zum externen uebergeben, somit versende ich keine Nummer. Statisch will ich sie nicht einbinden, weil es mehrere Telefone mit unterschiedlichen durchwahlen gibt, die nach aussen bekannt gegeben werden sollen.
Vielen Dank fuer das durchlesen!
