[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