.titleBar { margin-bottom: 5px!important; }

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

Dieses Thema im Forum "Asterisk Rufnummernplan" wurde erstellt von streawkceur, 19 Nov. 2004.

  1. streawkceur

    streawkceur Neuer User

    Registriert seit:
    2 Nov. 2004
    Beiträge:
    26
    Zustimmungen:
    0
    Punkte für Erfolge:
    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