InternTel@HFC->Anrufe über SIP+Fallback+Autom. Ortsvorwah

streawkceur

Neuer User
Mitglied seit
2 Nov 2004
Beiträge
26
Punkte für Reaktionen
0
Punkte
0
Hallo zusammen!

Habe mir eine einfache Config gebaut für den Einfachen Anwendungsfall, dass man zu Hause ein (analoges) Telefon an HFC-NT hat und mit diesem Telefon via SIP raustelefoniert bzw. angerufen werden kann. Außerdem werden Nummern ohne Vorwahl (also ohne 0 am Anfang) vorne um die Ortsvorwahl erweitert. Es ist nur die Grundfunktionalität integriert. Daher kann diese Config vielleicht als Grundlage für andere dienen.

Da es ja durchaus passieren kann, dass ein SIP-Provider mal offline ist, habe ich ein einfaches Fallback auf einen zweiten Provider eingerichtet. Leider berücksichtige ich nicht, dass der erste z.B. wegen leerem Konto nicht funktioniert. Das Fallback reagiert nur, falls keine Verbindung zum Provider möglich ist.

Mein Server hängt direkt am Internet, NAT wird also nicht verwendet.

sip.conf:
Code:
[general]
port        = 5060
bindaddr    = 0.0.0.0
realm       = deinhost.dyndns.org
externip    = deinhost.dyndns.org
localnet    = 192.168.0.0/255.255.255.0
srvlookup   = yes
;default context in extension.conf for incoming calls
;context     = sip-in ; not needed, defined explicitly below
;Codecs
allow       = gsm
allow       = ilbc
allow       = g726
allow       = ulaw
allow       = alaw
canreinvite = no
;tos=['lowdelay', 'throughput', 'reliability', 'mincost', or 'none']
nat         = no
dtmfmode    = info

;Register extension "sip-in" for incoming calls
;You should also set the same extension name "sip-in" as context for each
;sip-context below, to direct all incoming calls to the context "sip-in"
;in your extensions.conf
register    => <sip-user>:<pass>@sipgate.de/sip-in
register    => <sip-user>:<pass>@sip.web.de/sip-in

;web.de context
[webde]
context     = sip-in ;This context in the extensions.conf will be called on an incoming call
type        = friend
username    = <sip-user>
secret      = <pass>
host        = sip.web.de
fromuser    = <sip-user>
fromdomain  = sip.web.de
qualify     = 400
dtmfmode    = info
insecure    = very

;Sipgate context
[sipgate]
context     = sip-in ;This context in the extensions.conf will be called on an incoming call
type        = friend
username    = <sip-user>
secret      = <pass>
host        = sipgate.de
fromuser    = <sip-user>
fromdomain  = sipgate.de
qualify     = 400
dtmfmode    = info
insecure    = very

extensions.conf
Code:
[general]
static       = yes ;Don't allow asterisk to modifiy this config file
writeprotect = no  ;But allow that the settings may be modified while asterisk is running

[globals]
LOCAL_PREFIX = 0221   ;The prefix for local telephone numbers which will be added when calling a number starting with a non-0 digit
SIPIN_TYPE   = Zap/g1 ;When there is an incoming call from a registered SIP-account, we will call
SIPIN_MSN    = 1      ;an extention with this specified type and MSN

[zap-out]
;Context specified in zapata.conf
;Will be used, when a phone at the zaptel-card dials out

;Matches a dialed number NOT beginning with a 0.
;We'll put the local prefix in front of the number
exten => _Z.,1,Macro(sip-out,${LOCAL_PREFIX}${EXTEN})

;Matches a dialed number beginning with a 0
exten => _0.,1,Macro(sip-out,${EXTEN})

[macro-sip-out]
;Places an outgoing call to a number (ARG1) over several SIP-providers (fallback)
;If the call fails (DIALSTATUS = CHANUNAVAIL or CONGESTION) we will try it with the next provider

exten => s,1,Dial(SIP/${ARG1}@sipgate,60,tT)
exten => s,2,GotoIf($[$[${DIALSTATUS} = CHANUNAVAIL] | $[${DIALSTATUS} = CONGESTION]]? 11 : 12)
exten => s,11,Dial(SIP/${ARG1}@webde,60,tT)
exten => s,12,Congestion
exten => s,13,Busy
exten => s,14,Hangup

;We registered the extension "sip-in" in sip.conf, so we will use it here.
[sip-in]
;This extension will be called, when there is an incoming call on one of our
;registered SIP-accounts. Redirect the call to SIPIN_TYPE/SIPIN_MSN.
exten => sip-in,1,Dial(${SIPIN_TYPE}/${SIPIN_MSN},60,Ttr)

zapata.conf
Code:
[channels]
switchtype  = euroisdn
signalling  = bri_net_ptmp
pridialplan = local
echocancel  = yes
immediate   = no
overlapdial = yes
group       = 1
context     = zap-out
channel     => 1-2

Die Configs sind hoffentlich verständlich und ausreichend kommentiert (wenn auch auf Englisch, aber ich finde deutsche Kommentare in Texten mit englischer Syntax irgendwie komisch).

Mein Fallback scheint zu funktionieren, da ich sipgate als ersten Provider eingetragen hab, mich da nur leider nicht (bzw. fast nie) registrieren kann, was aber ein anderes Thema ist:
Sipgate-Problem...
Jedenfalls, kann ich über Web.de raustelefonieren und auch angerufen werden. Sipgate funktioniert entsprechend nicht...

Vielleicht kann ja jemand was mit dieser Config anfangen :) oder hat nen Tipp bezüglich meinem Sipgate-Problem...

Bye,
-Thomas
 
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.