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

Sipgate Account auf einen lokalen SIP User mappen

Dieses Thema im Forum "Asterisk Allgemein" wurde erstellt von kperas, 10 Feb. 2005.

  1. kperas

    kperas Neuer User

    Registriert seit:
    17 Jan. 2005
    Beiträge:
    156
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Hallo Forum,
    ich hab da ein kleines Problem und finde einfach kein Beispiel.

    Ich habe ein paar lokale SIP User, so im Bereich 10-20. Diese können untereinander telefonieren und über CAPI raustelefonieren.
    Ich habe eine Fritzcard, welche an der MSN 109 unserer Telefonanlage hängt, ja halt CAPI eben...
    Jetzt habe ich mein * noch bei sipgate registriert und möchte, wenn calls auf diesen Account kommen sie einem bestimmten SIP User [14] zuordnen.
    Wie geht sowas?
    Hier noch meine Daten:

    sipconf:

    [general]
    context=default ; Default context for incoming calls
    port=5060 ; UDP Port to bind to (SIP standard port is 5060)
    bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all)
    srvlookup=yes ; Enable DNS SRV lookups on outbound calls
    disallow=all ; First disallow all codecs
    ;allow=g729
    allow=gsm
    allow=alaw
    allow=ulaw ; Allow codecs in order of preference
    ; This may also be set for individual users/peers
    language=de ; Default language setting for all users/peers

    register=>SIPID:pass@sipgate.de/SIPID
    nat=no
    canreinvite=no
    tos=0x18
    insecure=very
    nat=yes
    dtmfmode=info
    maxexpirey=3600
    defaultexpirey=600
    port=5060
    bindaddr=0.0.0.0
    localnet=172.22.0.0/255.255.0.0

    [sipgate]
    type=friend
    username=SIPID
    secret=XXXXXXXX
    host=sipgate.de
    fromuser=XXXXXXX
    fromdomain=sipgate.de
    canreinvite=no
    qualify=no
    disallow=all
    allow=ulaw
    allow=alaw
    allow=ilbc
    allow=gsm
    ;allow=g729
    insecure=very
    nat=yes
    dtmfmode=info
    tos=0x18

    [10] ; kphone 2
    type=friend
    username=10
    dtmfmode=rfc2833
    secret=10
    host=dynamic
    callerid="10"= <10>
    disallow=all
    allow=alaw
    allow=ulaw

    ;[11] ; bettschnitt SIP Telefon
    ;type=friend
    ;username=11
    ;secret=11
    ;host=172.22.20.152
    ;callerid="11"= <11>

    [12] ;windows Rechner Peras mit SIPP
    type=friend
    username=12
    secret=12
    host=dynamic
    callerid="12"= <12>

    [14] ; SIP Telefon Peras
    type=friend
    username=14
    secret=14
    host=dynamic
    callerid="14"= <14>

    [15] ; SIP Telefon Bettschnitt
    type=friend
    username=15
    secret=15
    host=dynamic
    callerid="15"= <15>

    ;[16] ; SIP Telefon Dummy
    ;type=friend
    ;username=16
    ;secret=16
    ;host=dynamic
    ;callerid="16"= <16>

    ;[12]
    ;Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
    ;Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
    ;type=friend
    ;regexten=12 ; When they register, create extension 1234
    ;username=12
    ;callerid="12"= <12>
    ;host=dynamic
    ;nat=yes ; X-Lite is behind a NAT router
    ;canreinvite=no ; Typically set to NO if behind NAT
    ;disallow=all
    ;allow=gsm ; GSM consumes far less bandwidth than ulaw
    ;allow=ulaw
    ;allow=alaw

    [17] ; kphone 1
    type=friend
    username=17
    secret=17
    host=dynamic
    dtmfmode=inband
    callerid="17"= <17>

    [18] ; kphone Demleidb
    type=friend
    username=18
    secret=18
    host=dynamic
    dtmfmode=inband
    callerid="18"= <18>

    [19] ; minisip
    type=friend
    username=19
    secret=19
    host=dynamic
    dtmfmode=inband
    callerid="19"= <19>

    [20]
    type=friend
    username=20
    secret=20
    host=dynamic
    callerid="20"= <20>
    disallow=all
    allow=ulaw
    allow=alaw


    extensions.conf:

    [general]
    static=yes
    writeprotect=no
    [globals]
    CONSOLE=Console/dsp ; Console interface for demo
    ;CONSOLE=Zap/1
    ;CONSOLE=Phone/phone0
    IAXINFO=guest ; IAXtel username/password
    ;IAXINFO=myuser:mypass
    TRUNK=Zap/g2 ; Trunk interface
    TRUNKMSD=1 ; MSD digits to strip (usually 1 or 0)
    ;TRUNK=IAX2/user:pass@provider

    ;[context]
    ;exten => someexten,priority,application(arg1,arg2,...)
    ;exten => someexten,priority,application,arg1|arg2...
    ;
    ; Timing list for includes is
    ;
    ; <time range>|<days of week>|<days of month>|<months>
    ;
    ;include => daytime|9:00-17:00|mon-fri|*|*
    ;
    ; ignorepat can be used to instruct drivers to not cancel dialtone upon
    ; receipt of a particular pattern. The most commonly used example is
    ; of course '9' like this:
    ;
    ;ignorepat => 9
    ;
    ; so that dialtone remains even after dialing a 9.
    ;

    ;
    ; Here are the entries you need to participate in the IAXTEL
    ; call routing system. Most IAXTEL numbers begin with 1-700, but
    ; there are exceptions. For more information, and to sign
    ; up, please go to www.gnophone.com or www.iaxtel.com
    ;
    [iaxtel700]
    exten => _91700XXXXXXX,1,Dial(IAX2/${IAXINFO}@iaxtel.com/${EXTEN:1}@iaxtel)

    ;
    ; The SWITCH statement permits a server to share the dialplain with
    ; another server. Use with care: Reciprocal switch statements are not
    ; allowed (e.g. both A -> B and B -> A), and the switched server needs
    ; to be on-line or else dialing can be severly delayed.
    ;
    [iaxprovider]
    ;switch => IAX2/user:[key]@myserver/mycontext

    [trunkint]
    ;
    ; International long distance through trunk
    ;
    exten => _9011.,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _9011.,2,Congestion

    [trunkld]
    ;
    ; Long distance context accessed through trunk
    ;
    exten => _91NXXNXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91NXXNXXXXXX,2,Congestion

    [trunklocal]
    ;
    ; Local seven-digit dialing accessed through trunk interface
    ;
    exten => _9NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _9NXXXXXX,2,Congestion

    [trunktollfree]
    ;
    ; Long distance context accessed through trunk interface
    ;
    exten => _91800NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91800NXXXXXX,2,Congestion
    exten => _91888NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91888NXXXXXX,2,Congestion
    exten => _91877NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91877NXXXXXX,2,Congestion
    exten => _91866NXXXXXX,1,Dial(${TRUNK}/${EXTEN:${TRUNKMSD}})
    exten => _91866NXXXXXX,2,Congestion

    [international]
    ;
    ; Master context for international long distance
    ;
    ignorepat => 9
    include => longdistance
    include => trunkint

    [longdistance]
    ;
    ; Master context for long distance
    ;
    ignorepat => 9
    include => local
    include => trunkld

    [local]
    ;
    ; Master context for local, toll-free, and iaxtel calls only
    ;
    ignorepat => 9
    include => default
    include => parkedcalls
    include => trunklocal
    include => iaxtel700
    include => trunktollfree
    include => iaxprovider
    ;
    ; You can use an alternative switch type as well, to resolve
    ; extensions that are not known here, for example with remote
    ; IAX switching you transparently get access to the remote
    ; Asterisk PBX
    ;
    ; switch => IAX2/user:password@bigserver/local

    [macro-stdexten];
    ;
    ; Standard extension macro:
    ; ${ARG1} - Extension (we could have used ${MACRO_EXTEN} here as well
    ; ${ARG2} - Device(s) to ring
    ;
    exten => s,1,Dial(${ARG2},20) ; Ring the interface, 20 seconds maximum
    exten => s,2,Goto(s-${DIALSTATUS},1) ; Jump based on status (NOANSWER,BUSY,CHANUNAVAIL,CONGESTION,ANSWER)

    exten => s-NOANSWER,1,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
    exten => s-NOANSWER,2,Goto(default,s,1) ; If they press #, return to start

    exten => s-BUSY,1,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
    exten => s-BUSY,2,Goto(default,s,1) ; If they press #, return to start

    exten => _s-.,1,Goto(s-NOANSWER,1) ; Treat anything else as no answer

    exten => a,1,VoicemailMain(${ARG1}) ; If they press *, send the user into VoicemailMain

    [demo]
    ;
    ; We start with what to do when a call first comes in.
    ;
    exten => s,1,Wait,1 ; Wait a second, just for fun
    exten => s,2,Answer ; Answer the line
    exten => s,3,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
    exten => s,4,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
    exten => s,5,BackGround(demo-congrats) ; Play a congratulatory message
    exten => s,6,BackGround(demo-instruct) ; Play some instructions

    exten => 2,1,BackGround(demo-moreinfo) ; Give some more information.
    exten => 2,2,Goto(s,6)

    exten => 3,1,SetLanguage(fr) ; Set language to french
    exten => 3,2,Goto(s,5) ; Start with the congratulations

    exten => 1000,1,Goto(default,s,1)
    ;
    ; We also create an example user, 1234, who is on the console and has
    ; voicemail, etc.
    ;
    exten => 1234,1,Playback(transfer,skip) ; "Please hold while..."
    ; (but skip if channel is not up)
    exten => 1234,2,Macro(stdexten,1234,${CONSOLE})

    exten => 1235,1,Voicemail(u1234) ; Right to voicemail

    exten => 1236,1,Dial(Console/dsp) ; Ring forever
    exten => 1236,2,Voicemail(u1234) ; Unless busy

    ;
    ; # for when they're done with the demo
    ;
    exten => #,1,Playback(demo-thanks) ; "Thanks for trying the demo"
    exten => #,2,Hangup ; Hang them up.

    ;
    ; A timeout and "invalid extension rule"
    ;
    exten => t,1,Goto(#,1) ; If they take too long, give up
    exten => i,1,Playback(invalid) ; "That's not valid, try again"

    ;
    ; Create an extension, 500, for dialing the
    ; Asterisk demo.
    ;
    exten => 500,1,Playback(demo-abouttotry); Let them know what's going on
    exten => 500,2,Dial(IAX2/guest@misery.digium.com/s@default) ; Call the Asterisk demo
    exten => 500,3,Playback(demo-nogo) ; Couldn't connect to the demo site
    exten => 500,4,Goto(s,6) ; Return to the start over message.

    ;
    ; Create an extension, 600, for evaulating echo latency.
    ;
    exten => 600,1,Playback(demo-echotest) ; Let them know what's going on
    exten => 600,2,Echo ; Do the echo test
    exten => 600,3,Playback(demo-echodone) ; Let them know it's over
    exten => 600,4,Goto(s,6) ; Start over

    ;
    ; Give voicemail at extension 8500
    ;
    exten => 8500,1,VoicemailMain
    exten => 8500,2,Goto(s,6)
    ;
    ; Here's what a phone entry would look like (IXJ for example)
    ;
    ;exten => 1265,1,Dial(Phone/phone0,15)
    ;exten => 1265,2,Goto(s,5)

    ;[mainmenu]
    ;
    ; Example "main menu" context with submenu
    ;
    ;exten => s,1,Answer
    ;exten => s,2,Background(thanks) ; "Thanks for calling press 1 for sales, 2 for support, ..."
    ;exten => 1,1,Goto(submenu,s,1)
    ;exten => 2,1,Hangup
    ;include => default
    ;
    ;[submenu]
    ;exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback
    ;exten => s,2,Wait,2
    ;exten => s,3,Background(submenuopts) ; "Thanks for calling the sales department. Press 1 for steve, 2 for..."
    ;exten => 1,1,Goto(default,steve,1)
    ;exten => 2,1,Goto(default,mark,2)

    [default]
    ;
    ; By default we include the demo. In a production system, you
    ; probably don't want to have the demo there.
    ;
    include => demo
    include => sipgatecalls

    ;
    ; Extensions like the two below can be used for FWD, Nikotel, sipgate etc.
    ; Note that you must have a [sipprovider] section in sip.conf whereas
    ; the otherprovider.net example does not require such a peer definition
    ;
    ;exten => _41X.,1,Dial(SIP/${EXTEN:2}@sipprovider,,r)
    ;exten => _42X.,1,Dial(SIP/user:passwd@${EXTEN:2}@otherprovider.net,30,rT)

    ; Real extensions would go here. Generally you want real extensions to be 4 or 5
    ; digits long (although there is no such requirement) and start with a single
    ; digit that is fairly large (like 6 or 7) so that you have plenty of room to
    ; overlap extensions and menu options without conflict. You can alias them with
    ; names, too and use global variables

    ;exten => 6245,hint,SIP/Grandstream1&SIP/Xlite1 ; Channel hints for presence
    ;exten => 6245,1,Dial(SIP/Grandstream1,20,rt) ; permit transfer
    ;exten => 6245,1,Dial(${HINT},20,rtT) ; Use hint as listed
    ;exten => 6361,1,Dial(IAX2/JaneDoe,,rm) ; ring without time limit
    ;exten => 6389,1,Dial(MGCP/aaln/1@192.168.0.14)
    ;exten => 6394,1,Dial(Local/6275/n) ; this will dial ${MARK}

    ;exten => 6275,1,Macro(stdexten,6275,${MARK}) ; assuming ${MARK} is something like Zap/2
    ;exten => mark,1,Goto(6275|1) ; alias mark to 6275
    ;exten => 6536,1,Macro(stdexten,6236,${WIL}) ; Ditto for wil
    ;exten => wil,1,Goto(6236|1)
    ;
    ; Some other handy things are an extension for checking voicemail via
    ; voicemailmain
    ;
    ;exten => 8500,1,VoicemailMain
    ;exten => 8500,2,Hangup
    ;
    ; Or a conference room (you'll need to edit meetme.conf to enable this room)
    ;
    ;exten => 8600,1,Meetme(1234)
    ;
    ; Or playing an announcement to the called party, as soon it answers
    ;
    ;exten = 8700,1,Dial(${MARK},30,A(/path/to/my/announcemsg))
    ;
    ; For more information on applications, just type "show applications" at your
    ; friendly Asterisk CLI prompt.
    ;
    ; 'show application <command>' will show details of how you
    ; use that particular application in this file, the dial plan.
    ;
    include=> 10
    ;include=> 11
    include=> 12
    include=> 14
    include=> 15
    ;include=> 16
    include=> 17
    include=> 18
    include=> 19
    include=> 20
    include=> 99

    exten=>_xx.,1,Dial,CAPI/109:${EXTEN}
    exten=>_xx.,2,Congestion

    [capicall]
    exten=>109,1,Dial(SIP/14)
    exten=>110,1,Dial(SIP/20)


    [10]
    ;exten => 10,1,Dial(SIP/${EXTEN},60)
    exten => 10,1,Dial(SIP/10)
    exten => 10,2,Hangup
    exten => 10,102,Busy

    ;[11]
    ;exten => 11,1,Dial(SIP/11)
    ;exten => 11,2,Hangup
    ;exten => 11,102,Busy

    [12]
    ;exten => 12,1,Dial(SIP/12)
    exten => 12,1,Dial(SIP/12,10)
    exten => 12,2,Dial(SIP/15,10)
    exten => 12,3,Answer
    exten => 12,4,Playback(vm-options)
    exten => 12,5,Hangup
    exten => 12,102,Busy

    [14]
    exten => 14,1,Dial(SIP/14)
    exten => 14,2,Hangup
    exten => 14,102,Busy

    [15]
    exten => 15,1,Dial(SIP/15)
    exten => 15,2,Hangup
    exten => 15,102,Busy

    [17]
    exten => 17,1,Dial(SIP/17)
    exten => 17,2,Hangup
    exten => 17,102,Busy

    [18]
    exten => 18,1,Dial(SIP/18)
    exten => 18,2,Hangup
    exten => 18,102,Busy

    [19]
    exten => 19,1,Dial(SIP/19)
    exten => 19,2,Hangup
    exten => 19,102,Busy

    [20]
    exten => 20,1,Dial(SIP/20,20)
    exten => 20,2,Hangup
    exten => 20,102,Busy

    [99]
    exten => 99,1,Dial,CAPI/109:09001001191 ;Zeitansage der DTelekom

    [sipgate]
    exten => 555xxxx,1,Dial(SIP/14,20)


    MfG
    Klaus
     
  2. WrMulf

    WrMulf Mitglied

    Registriert seit:
    2 Okt. 2004
    Beiträge:
    553
    Zustimmungen:
    0
    Punkte für Erfolge:
    0
    Ort:
    Stuttgart
    das nächste mal Kommentarzeilen bitte entfernen, das ist übersichtlicher.

    Der Ansatz ist nicht schlecht, du hast im default-context der extension.conf ein:

    include => sipgatecalls

    allerdings gibt es diesen context nirgends. Du brauchst noch:

    [sipgatecalls]
    exten => SIPID,1,Dial(SIP/14)
    exten => SIPID,2,Hangup

    und in dem context "[sipgate]" in der sip.conf fehlt noch eine Zeile:

    context=sipgatecalls

    Damit sollte es gehen.