[Asterisk-Users] Outbound calling timeout
Greg Oliver
goliver at cistera.com
Wed Feb 16 17:11:14 MST 2005
I am running asterisk 1.0.1 with OH323 compiled in.
We have a 323 trunk to CallManager with a mgcp controlled pri router.
When using sip phones (directly registered with asterisk) to call out
the 323 trunnk to PSTN, calls timeout after 3 rings. If I answer b4 3
rings - no problem, otherwise I get "no one is available to answer at
this time" on the consoel and it redirects to an extension in
extensions.conf under a different context.
Any ideas on where I should be looking:
Thanks,
Greg Oliver
configs follow:
sip.conf----
> sip*CLI>
> sip*CLI>
> sip*CLI> exit
> Executing last minute cleanups
> [root at sip asterisk]# cat sip.conf
> ;
> ; SIP Configuration for Asterisk
> ;
> ; Syntax for specifying a SIP device in extensions.conf is
> ; SIP/devicename where devicename is defined in a section below.
> ;
> ; You may also use
> ; SIP/username at domain to call any SIP user on the Internet
> ; (Don't forget to enable DNS SRV records if you want to use this)
> ;
> ; If you define a SIP proxy as a peer below, you may call
> ; SIP/proxyhostname/user or SIP/user at proxyhostname
> ; where the proxyhostname is defined in a section below
> ;
> ; Useful CLI commands to check peers/users:
> ; sip show peers Show all SIP peers (including friends)
> ; sip show users Show all SIP users (including friends)
> ; sip show registry Show status of hosts we register with
> ;
> ; sip debug Show all SIP messages
> ;
>
> [general]
> context=default ; Default context for incoming calls
> ;realm=mydomain.tld ; Realm for digest authentication
> ; defaults to "asterisk"
> ; Realms MUST be globally unique according to RFC 3261
> ; Set this to your host name or domain name
> 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=no ; Enable DNS SRV lookups on outbound calls
> ; Note: Asterisk only uses the first host
> ; in SRV records
> ; Disabling DNS SRV lookups disables the
> ; ability to place SIP calls based on domain
> ; names to some other SIP users on the Internet
>
> ;pedantic=yes ; Enable slow, pedantic checking for Pingtel
> ; and multiline formatted headers for strict
> ; SIP compatibility
> ;tos=184 ; Set IP QoS to either a keyword or numeric val
> ;tos=reliability ; lowdelay,throughput,reliability,mincost,none
> ;maxexpirey=3600 ; Max length of incoming registration we allow
> ;defaultexpirey=120 ; Default length of incoming/outoing registration
> notifymimetype=text/plain ; Allow overriding of mime type in NOTIFY
> ;videosupport=yes ; Turn on support for SIP video
>
> disallow=all ; First disallow all codecs
> allow=ulaw ; Allow codecs in order of preference
> ;allow=ilbc ; Note: codec order is respected only in [general]
> ;musicclass=default ; Sets the default music on hold class for all SIP calls
> ; This may also be set for individual users/peers
> ;language=en ; Default language setting for all users/peers
> ; This may also be set for individual users/peers
> ;relaxdtmf=yes ; Relax dtmf handling
> ;rtptimeout=60 ; Terminate call if 60 seconds of no RTP activity
> ; when we're not on hold
> ;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP activity
> ; when we're on hold (must be > rtptimeout)
>
> ; Asterisk can register as a SIP user agent to a SIP proxy (provider)
> ; Format for the register statement is:
> ; register => user[:secret[:authuser]]@host[:port][/extension]
> ;
> ; If no extension is given, the 's' extension is used. The extension
> ; needs to be defined in extensions.conf to be able to accept calls
> ; from this SIP proxy (provider)
> ;
> ; host is either a host name defined in DNS or the name of a
> ; section defined below.
> ;
> ; Examples:
> ;
> ;register => 1234:password at mysipprovider.com
> ;
> ; This will pass incoming calls to the 's' extension
> ;
> ;
> ;register => 2345:password at sip_proxy/1234
> ;
> ; Register 2345 at sip provider 'sip_proxy'. Calls from this provider connect to local
> ; extension 1234 in extensions.conf default context, unless you define
> ; unless you configure a [sip_proxy] section below, and configure a context.
> ; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com]
> ; Tip 2: Use separate type=peer and type=user sections for SIP providers
> ; (instead of type=friend) if you have calls in both directions
>
>
> ;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP messages
> ; if we're behind a NAT
>
> ; The externip and localnet is used
> ; when registering and communicating with other proxies
> ; that we're registered with
> ; You may add multiple local networks. A reasonable set of defaults
> ; are:
> ;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks
> ;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918
> ;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation
> ;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network
> localnet=206.123.138.0/255.255.255.0
>
> ;-----------------------------------------------------------------------------------
> ; Users and peers have different settings available. Friends have all settings,
> ; since a friend is both a peer and a user
> ;
> ; User config options: Peer configuration:
> ; -------------------- -------------------
> ; context context
> ; permit permit
> ; deny deny
> ; auth auth
> ; secret secret
> ; md5secret md5secret
> ; dtmfmode dtmfmode
> ; canreinvite canreinvite
> ; nat nat
> ; callgroup callgroup
> ; pickupgroup pickupgroup
> ; language language
> ; allow allow
> ; disallow disallow
> ; insecure insecure
> ; callerid
> ; accountcode
> ; amaflags
> ; incominglimit
> ; outgoinglimit
> ; restrictcid
> ; mailbox
> ; username
> ; template
> ; fromdomain
> ; fromuser
> ; host
> ; mask
> ; port
> ; qualify
> ; defaultip
> ; rtptimeout
> ; rtpholdtimeout
>
> ;[sip_proxy]
> ; For incoming calls only. Example: FWD (Free World Dialup)
> ;type=user
> ;context=from-fwd
>
> ;[sip_proxy-out]
> ;type=peer ; we only want to call out, not be called
> ;secret=guessit
> ;username=yourusername
> ;fromuser=yourusername ; Many SIP providers require this!
> ;host=box.provider.com
>
> ;[grandstream1]
> ;type=friend ; either "friend" (peer+user), "peer" or "user"
> ;context=from-sip
> ;username=grandstream1 ; usually matches the [section] title
> ;fromuser=grandstream1 ; overrides the callerid, e.g. required by FWD
> ;callerid=John Doe <1234>
> ;host=192.168.0.23 ; we have a static but private IP address
> ;nat=no ; there is not NAT between phone and Asterisk
> ;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk
> ;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone
> ;outgoinglimit=1 ; disable callwaiting signal (2nd call to phone)
> ;incominglimit=1 ; permit only 1 outgoing call at a time
> ;mailbox=1234 at default ; mailbox 1234 in voicemail context "default"
> ;disallow=all ; need to disallow=all before we can use allow=
> ;allow=ulaw ; Note: In user sections the order of codecs
> ; listed with allow= does NOT matter!
> ;allow=alaw
> ;allow=g723.1 ; Asterisk only supports g723.1 pass-thru!
> ;allow=g729 ; Pass-thru only unless g729 license obtained
>
>
> ;[xlite1]
> ;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
> ;username=xlite1
> ;callerid="Jane Smith" <5678>
> ;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
>
>
> ;[snom]
> ;type=friend ; Friends place calls and receive calls
> ;context=from-sip ; Context for incoming calls from this user
> ;secret=blah
> ;host=dynamic ; This peer register with us
> ;dtmfmode=inband ; Choices are inband, rfc2833, or info
> ;defaultip=192.168.0.59 ; IP used until peer registers
> ;mailbox=1234,2345 ; Mailboxes for message waiting indicator
> ;restrictcid=yes ; To have the callerid restriced -> sent as ANI
> ;disallow=all
> ;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw!
> ;mailbox=1234 at context,2345 ; Mailbox(-es) for message waiting indicator
>
>
> ;[pingtel]
> ;type=friend
> ;username=pingtel
> ;secret=blah
> ;host=dynamic
> ;insecure=yes ; To match a peer based by IP address only and not peer
> ;insecure=very ; To allow registered hosts to call without re-authenticating
> ;qualify=1000 ; Consider it down if it's 1 second to reply
> ; Helps with NAT session
> ; qualify=yes uses default value
> ;callgroup=1,3-4 ; We are in caller groups 1,3,4
> ;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5
> ;defaultip=192.168.0.60 ; IP address to use if peer has not registred
>
> ;[cisco1]
> ;type=friend
> ;username=cisco1
> ;secret=blah
> ;qualify=200 ; Qualify peer is no more than 200ms away
> ;nat=yes ; This phone may be natted
> ; Send SIP and RTP to IP address that packet is
> ; received from instead of trusting SIP headers
> ;host=dynamic ; This device registers with us
> ;canreinvite=no ; Asterisk by default tries to redirect the
> ; RTP media stream (audio) to go directly from
> ; the caller to the callee. Some devices do not
> ; support this (especially if one of them is
> ; behind a NAT).
> ;defaultip=192.168.0.4
>
> ;[cisco2]
> ;type=friend
> ;username=cisco2
> ;fromuser=markster ; Specify user to put in "from" instead of callerid
> ;fromdomain=yourdomain.com ; Specify domain to put in "from" instead of callerid
> ; fromuser and fromdomain are used when Asterisk
> ; places calls to this account. It is not used for
> ; calls from this account.
> ;secret=blah
> ;host=dynamic
> ;defaultip=192.168.0.4
> ;amaflags=default ; Choices are default, omit, billing, documentation
> ;accountcode=markster ; Users may be associated with an accountcode to ease billing
>
> [75000]
> type=friend
> secret=
> auth=md5
> nat=yes
> host=dynamic
> reinvite=no
> canreinvite=no
> qualify=1000
> dtmfmode=rfc2833
> callerid="Greg R <75000>"
> disallow=all
> allow=gsm
> allow=ulaw
> context=default
> mailbox=5000
>
> [74678]
> type=friend
> username=74678
> secret=
> qualify=200
> host=dynamic
> canreinvite=yes > root at sip asterisk]# cat h323.conf
> ; The NuFone Network's
> ; Open H.323 driver configuration
> ;
> [general]
> port = 1720
> bindaddr = 0.0.0.0
> ;tos=lowdelay
> ;
> ; You may specify a global default AMA flag for iaxtel calls. It must be
> ; one of 'default', 'omit', 'billing', or 'documentation'. These flags
> ; are used in the generation of call detail records.
> ;
> ;amaflags = default
> ;
> ; You may specify a default account for Call Detail Records in addition
> ; to specifying on a per-user basis
> ;
> ;accountcode=lss0101
> ;
> ; You can fine tune codecs here using "allow" and "disallow" clauses
> ; with specific codecs. Use "all" to represent all formats.
> ;
> disallow=all
> ;allow=all ; turns on all installed codecs
> ;disallow=g723.1 ; Hm... Proprietary, don't use it...
> allow=gsm ; Always allow GSM, it's cool :)
> allow=ulaw
> ;
> ; User-Input Mode (DTMF)
> ;
> ; valid entries are: rfc2833, inband
> ; default is rfc2833
> dtmfmode=rfc2833
> ;
> ; Set the gatekeeper
> ; DISCOVER - Find the Gk address using multicast
> ; DISABLE - Disable the use of a GK
> ; <IP address> or <Host name> - The acutal IP address or hostname of your GK
> gatekeeper = 192.168.5.20
> ;
> ;
> ; Tell Asterisk whether or not to accept Gatekeeper
> ; routed calls or not. Normally this should always
> ; be set to yes, unless you want to have finer control
> ; over which users are allowed access to Asterisk.
> ; Default: YES
> ;
> AllowGKRouted = yes
> ;
> ; Default context gets used in siutations where you are using
> ; the GK routed model or no type=user was found. This gives you
> ; the ability to either play an invalid message or to simply not
> ; use user authentication at all.
> ;
> context=default
> ;
> ; H.323 Alias definitions
> ;
> ; Type 'h323' will register aliases to the endpoint
> ; and Gatekeeper, if there is one.
> ;
> ; Example: if someone calls time at your.asterisk.box.com
> ; Asterisk will send the call to the extension 'time'
> ; in the context default
> ;
> [default]
> type=h323
> context=default
>
> ; Keyword's 'prefix' and 'e164' are only make sense when
> ; used with a gatekeeper. You can specify either a prefix
> ; or E.164 this endpoint is responsible for terminating.
> ;
> ; Example: The H.323 alias 'det-gw' will tell the gatekeeper
> ; to route any call with the prefix 1248 to this alias. Keyword
> ; e164 is used when you want to specifiy a full telephone
> ; number. So a call to the number 18102341212 would be
> ; routed to the H.323 alias 'time'.
> ;
>
> ; Voice Mail Entry
> [14000]
> type=h323
> context=default
>
> ; Voice Mail on No Answer
> [14001]
> type=h323
> context=default
>
> ; Voice Mail on Busy
> [14002]
> type=h323
> context=default
>
>
> [7000]
> type=h323
> context=meetme
>
> [7001]
> type=h323
> context=meetme
>
> [7002]
> type=h323
> context=meetme
>
> [7003]
> type=h323
> context=meetme
>
> [7004]
> type=h323
> context=meetme
>
> [7005]
> type=h323
> context=meetme
>
> [7006]
> type=h323
> context=meetme
>
> [7007]
> type=h323
> context=meetme
>
> [7008]
> type=h323
> context=meetme
>
> [7009]
> type=h323
> context=meetme
>
> [2050]
> type=h323
> context=inbound
>
> [2051]
> type=h323
> context=support
>
> [2052]
> type=h323
> context=conference
>
> [2054]
> type=h323
> context=canada
>
> ;[74678]
> ;type=h323
> ;context=default
extensions.conf ----
> [root at sip asterisk]# cat extensions.conf
> ;
> ; Static extension configuration file, used by
> ; the pbx_config module. This is where you configure all your
> ; inbound and outbound calls in Asterisk.
> ;
>
> ;
> ; The "General" category is for certain variables.
> ;
> [general]
> ;
> ; If static is set to no, or omitted, then the pbx_config will rewrite
> ; this file when extensions are modified. Remember that all comments
> ; made in the file will be lost when that happens.
> ;
> ; XXX Not yet implemented XXX
> ;
> static=yes
> ;
> ; if static=yes and writeprotect=no, you can save dialplan by
> ; CLI command 'save dialplan' too
> ;
> writeprotect=no
>
> ; You can include other config files, use the #include command (without the ';')
> ; Note that this is different from the "include" command that includes contexts within
> ; other contexts. The #include command works in all asterisk configuration files.
> ;#include "filename.conf"
>
> ; The "Globals" category contains global variables that can be referenced
> ; in the dialplan with ${VARIABLE} or ${ENV(VARIABLE)} for Environmental variable
> ; ${${VARIABLE}} or ${text${VARIABLE}} or any hybrid
> ;
> [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
> ;TRUNK=IAX2/user:pass at provider
> DEFTIMEOUT=60
>
> ;
> ; Any category other than "General" and "Globals" represent
> ; extension contexts, which are collections of extensions.
> ;
> ; Extension names may be numbers, letters, or combinations
> ; thereof. If an extension name is prefixed by a '_'
> ; character, it is interpreted as a pattern rather than a
> ; literal. In patterns, some characters have special meanings:
> ;
> ; X - any digit from 0-9
> ; Z - any digit from 1-9
> ; N - any digit from 2-9
> ; [1235-9] - any digit in the brackets (in this example, 1,2,3,5,6,7,8,9)
> ; . - wildcard, matches anything remaining (e.g. _9011. matches
> ; anything starting with 9011 excluding 9011 itself)
> ;
> ; For example the extension _NXXXXXX would match normal 7 digit dialings,
> ; while _1NXXNXXXXXX would represent an area code plus phone number
> ; preceeded by a one.
> ;
> ; Contexts contain several lines, one for each step of each
> ; extension, which can take one of two forms as listed below,
> ; with the first form being preferred. One may include another
> ; context in the current one as well, optionally with a
> ; date and time. Included contexts are included in the order
> ; they are listed.
> ;
> ;[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
> ;
>
> [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 => corvero
> ;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 at 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,Voicemail(u${ARG1}) ; If unavailable, send to voicemail w/ unavail announce
> exten => s,3,Goto(default,s,1) ; If they press #, return to start
> exten => s,102,Voicemail(b${ARG1}) ; If busy, send to voicemail w/ busy announce
> exten => s,103,Goto(default,s,1) ; If they press #, return to start
> 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 at misery.digium.com/s at 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 14000 is the retrieval port
> ;
> ;exten => 14000,1,VoicemailMain
> ;exten => 14000,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]
>
> include => voicemail
> include => meetme
> include => sipphones
> include => inbound
> include => support
> include => conference
> include => canada
> include => outbound
>
> exten => t,1,Background(pbx-transfer)
> exten => t,2,Dial(H323/4607,30) ; Send to Line Appearance on Main Reception
> exten => t,3,Hangup
>
> exten => i,1,Background(pbx-invalid)
> exten => i,2,Dial(H323/4607,30) ; Send to Line Appearance on Main Reception
> exten => i,3,Hangup
>
> [voicemail]
> ;
> ; this is for the Message Button and for general recall
> ;
> exten => 14000,1,NoOp(Message button ${CALLERIDNUM} pressed)
> exten => 14000,2,VoicemailMain(s${CALLERIDNUM})
>
> ;
> ; this is when the call is redirected to voice mail
> ; the problem is that we do not know what extension redirected the call.
> ;
> exten => 14001,1,NoOp(Voice Mail Capture for ${CALLERIDNUM})
> exten => 14001,2,Voicemail(u${CALLERIDNUM}) ; If unavailable, send to voicemail w/ unavail announce
>
> exten => 14002,1,NoOp(Voice Mail Capture for ${CALLERIDNUM})
> exten => 14002,2,Voicemail(b${CALLERIDNUM}) ; If unavailable, send to voicemail w/ busy
>
> [meetme]
>
> ;
> ; Or a conference room (you'll need to edit meetme.conf to enable this room)
> ;
> exten => 7000,1,Meetme(70000)
> exten => 7001,1,Meetme(70010)
> exten => 7002,1,Meetme(70020)
> exten => 7003,1,Meetme(70030)
> exten => 7004,1,Meetme(70040)
> exten => 7005,1,Meetme(70050)
> exten => 7006,1,Meetme(70060)
> exten => 7007,1,Meetme(70070)
> exten => 7008,1,Meetme(70080)
> exten => 7009,1,Meetme(70090)
>
> [sipphones]
> exten => _7XXXX,1,NoOp("Call for "${EXTEN})
> exten => _7XXXX,2,Dial(SIP/${EXTEN},60,tr)
> exten => _7XXXX,3,Congestion
>
> ;exten => 4XXX,1,NoOp("Call for "${EXTEN})
> ;exten => 4XXX,2,Dial(H323/${EXTEN},60,tr)
> ;exten => 4XXX,3,Congestion
>
> [outbound]
> exten => _4XXX,1,NoOp("Route to CCM1" ${EXTEN} )
> exten => _4XXX,2,Dial(H323/${EXTEN})
> exten => _4XXX,3,Congestion
>
> exten => _5XXX,1,NoOp("Route to CCM1" ${EXTEN} )
> exten => _5XXX,2,Dial(H323/${EXTEN})
> exten => _5XXX,3,Congestion
>
> exten => _9NXXXXXXXXX,1,NoOp("Route to CCM1" ${EXTEN})
> exten => _9NXXXXXXXXX,2,Dial(H323/${EXTEN})
>
> exten => _91NXXXXXXXXX,1,NoOp("Route to CCM1" ${EXTEN})
> exten => _91NXXXXXXXXX,2,Dial(H323/${EXTEN})
>
>
> [inbound]
> exten => s,1,Ringing ; Make them comfortable with 2 seconds of ringback
> exten => s,2,Wait,2
> exten => s,3,Answer ; Answer the line
> exten => s,4,Wait,2
> exten => s,5,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
> exten => s,6,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
> exten => s,7,BackGround(Rec-Main-1) ; Play intro message
> exten => s,8,BackGround(Rec-Main-3) ; Play intro message
>
> exten => 0,1,Playback(pbx-transfer)
> exten => 0,2,Dial(H323/4607,30)
>
> exten => 1,1,Playback(pbx-transfer)
> exten => 1,2,Goto(support,2051,1)
>
> [support]
> exten => 2051,1,Ringing ; Make them comfortable with 2 seconds of ringback
> exten => 2051,2,Wait,2
> exten => 2051,3,Answer ; Answer the line
> exten => 2051,4,Wait,2
> exten => 2051,5,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
> exten => 2051,6,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
> exten => 2051,7,Playback(Rec_Supp_Ame_1) ; Play intro message
> exten => 2051,8,BackGround(Rec_Supp_Ame_3) ; Play intro message
> exten => 2051,9,BackGround(Rec_Supp_Ame_4) ; Play intro message
>
> [conference]
> exten => 2052,1,Ringing ; Make them comfortable with 2 seconds of ringback
> exten => 2052,2,Wait,2
> exten => 2052,3,Answer ; Answer the line
> exten => 2052,4,DigitTimeout,5 ; Set Digit Timeout to 5 seconds
> exten => 2052,5,ResponseTimeout,10 ; Set Response Timeout to 10 seconds
> exten => 2052,6,BackGround(conf-usermenu) ; Play intro message
>
> [canada]
>
> exten => 0,1,Background(pbx-transfer)
> exten => 0,2,Dial(H323/4608,30) ; Send to Line Appearance on Main Reception
> exten => 0,3,Hangup
>
> exten => 1,1,Goto(support,2051,1)
>
> exten => 2054,1,Ringing ; Make them comfortable with 2 seconds of ringback
> exten => 2054,2,Setvar(op=4608)
> exten => 2054,3,Wait,2
> exten => 2054,4,Answer ; Answer the line
> exten => 2054,5,Wait,3
> exten => 2054,6,Playback(Rec-Can-Main-1)
> exten => 2054,7,BackGround(Rec-Can-Main-3)
> exten => 2054,8,Dial(H323/${op},30) ; Send to Line Appearance on Main Reception
> exten => 2054,9,Hangup
>
> exten => t,1,Background(pbx-transfer)
> exten => t,2,Dial(H323/${op},30) ; Send to Line Appearance on Main Reception
> exten => t,3,Hangup
>
> exten => i,1,Background(pbx-invalid)
> exten => i,2, Goto(canada,2054,5)
> callerid=9723814678
> nat=yes
> disallow=all
> allow=ulaw
> context=default
> mailbox=4678
> dtmfmode=inband
h323.conf ---
More information about the asterisk-users
mailing list