Skip to content
Snippets Groups Projects
sip.conf.sample 21.6 KiB
Newer Older
  • Learn to ignore specific revisions
  • Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ; SIP Configuration example for Asterisk
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ; 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@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@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
    ;
    
    ;   reload chan_sip.so		Reload configuration file
    ;				Active SIP peers will not be reconfigured
    ;
    
    Mark Spencer's avatar
    Mark Spencer committed
    [general]
    
    context=default			; Default context for incoming calls
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;allowguest=no			; Allow or reject guest calls (default is yes, 
    				; this can also be set to 'osp'
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; if asterisk was compiled with OSP support.)
    allowoverlap=no			; Disable overlap dialing support. (Default is yes)
    ;allowsubscribe=no		; Disable support for subscriptions. (Default is yes)
    
    ;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
    
    bindport=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
    				; 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
    				
    
    ;domain=mydomain.tld		; Set default domain for this host
    				; If configured, Asterisk will only allow
    				; INVITE and REFER to non-local domains
    				; Use "sip show domains" to list local domains
    ;domain=mydomain.tld,mydomain-incoming
    				; Add domain and configure incoming context
    				; for external calls to this domain
    ;domain=1.2.3.4			; Add IP address as local domain
    				; You can have several "domain" settings
    ;allowexternalinvites=no	; Disable INVITE and REFER to non-local domains
    				; Default is yes
    ;autodomain=yes			; Turn this on to have Asterisk add local host
    				; name and local IP to domain list.
    
    ;pedantic=yes			; Enable slow, pedantic checking for Pingtel
    
    				; and multiline formatted headers for strict
    
    				; SIP compatibility (defaults to "no")
    
    
    ; See doc/README.tos for a description of these parameters.
    ;tos_sip=cs3                    ; Sets TOS for SIP packets.
    ;tos_audio=ef                   ; Sets TOS for RTP audio packets.
    ;tos_video=af41                 ; Sets TOS for RTP video packets.
    
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;maxexpiry=3600			; Maximum allowed time of incoming registrations
    				; and subscriptions (seconds)
    
    ;minexpiry=60			; Minimum length of registrations/subscriptions (default 60)
    
    ;defaultexpiry=120		; Default length of incoming/outoing registration
    
    ;t1min=100			; Minimum roundtrip time for messages to monitored hosts
    				; Defaults to 100 ms
    
    ;notifymimetype=text/plain	; Allow overriding of mime type in MWI NOTIFY
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;checkmwi=10			; Default time between mailbox checks for peers
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;vmexten=voicemail		; dialplan extension to reach mailbox sets the 
    				; Message-Account in the MWI notify message 
    				; defaults to "asterisk"
    
    ;recordhistory=yes		; Record SIP history by default 
    				; (see sip history / sip no history)
    
    ;disallow=all			; First disallow all codecs
    
    ;allow=ulaw			; Allow codecs in order of preference
    
    ;allow=ilbc			; 
    
    ;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)
    
    ;trustrpid = no			; If Remote-Party-ID should be trusted
    
    ;sendrpid = yes			; If Remote-Party-ID should be sent
    
    ;progressinband=never		; If we should generate in-band ringing always
    
    				; use 'never' to never use in-band signalling, even in cases
    				; where some buggy devices might not render it
    
    				; Valid values: yes, no, never Default: never
    
    ;useragent=Asterisk PBX		; Allows you to change the user agent string
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;promiscredir = no      	; If yes, allows 302 or REDIR to non-local SIP address
    	                       	; Note that promiscredir when redirects are made to the
    
           	                	; local system will cause loops since Asterisk is incapable
    
           	                	; of performing a "hairpin" call.
    
    ;usereqphone = no		; If yes, ";user=phone" is added to uri that contains
    				; a valid phone number
    
    ;dtmfmode = rfc2833		; Set default dtmfmode for sending DTMF. Default: rfc2833
    
    Mark Spencer's avatar
    Mark Spencer committed
    				; Other options: 
    
    				; info : SIP INFO messages
    				; inband : Inband audio (requires 64 kbit codec -alaw, ulaw)
    				; auto : Use rfc2833 if offered, inband otherwise
    
    
    ;compactheaders = yes		; send compact sip headers.
    
    ;sipdebug = yes			; Turn on SIP debugging by default, from
    				; the moment the channel loads this configuration
    
    ;subscribecontext = default	; Set a specific context for SUBSCRIBE requests
    				; Useful to limit subscriptions to local extensions
    				; Settable per peer/user also
    ;notifyringing = yes		; Notify subscriptions on RINGING state
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;
    ;videosupport=yes		; Turn on support for SIP video
    ;maxcallbitrate=384		; Maximum bitrate for video calls (default 384 kb/s)
    				; Videosupport and maxcallbitrate is settable
    				; for peers and users as well
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;callevents=no			; generate manager events when sip ua 
    				; performs events (e.g. hold)
    
    ; If regcontext is specified, Asterisk will dynamically create and destroy a
    ; NoOp priority 1 extension for a given peer who registers or unregisters with
    ; us.  The actual extension is the 'regexten' parameter of the registering
    ; peer or its name if 'regexten' is not provided.  More than one regexten may
    ; be supplied if they are separated by '&'.  Patterns may be used in regexten.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;regcontext=sipregistrations
    
    ;----------------------------------------- OUTBOUND SIP REGISTRATIONS  ------------------------
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; 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).
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ; host is either a host name defined in DNS or the name of a section defined
    ; below.
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    ; Examples:
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ;register => 1234:password@mysipprovider.com	
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ;     This will pass incoming calls to the 's' extension
    
    ;register => 2345:password@sip_proxy/1234
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;
    
    ;    Register 2345 at sip provider 'sip_proxy'.  Calls from this provider
    ;    connect to local extension 1234 in extensions.conf, default context,
    ;    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
    
    ;registertimeout=20		; retry registration calls every 20 seconds (default)
    
    ;registerattempts=10		; Number of registration attempts before we give up
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; 0 = continue forever, hammering the other server
    				; until it accepts the registration
    
    				; Default is 0 tries, continue forever
    
    ;----------------------------------------- NAT SUPPORT ------------------------
    ; The externip, externhost and localnet settings are used if you use Asterisk
    ; behind a NAT device to communicate with services on the outside.
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;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
    
    ;externhost=foo.dyndns.net	; Alternatively you can specify an 
    				; external host, and Asterisk will 
    				; perform DNS queries periodically.  Not
    				; recommended for production 
    				; environments!  Use externip instead
    ;externrefresh=10		; How often to refresh externhost if 
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; 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
    
    ; The nat= setting is used when Asterisk is on a public IP, communicating with
    
    ; devices hidden behind a NAT device (broadband router).  If you have one-way
    ; audio problems, you usually have problems with your NAT configuration or your
    ; firewall's support of SIP+RTP ports.  You configure Asterisk choice of RTP
    ; ports for incoming audio in rtp.conf
    
    ;
    ;nat=no				; Global NAT settings  (Affects all peers and users)
                                    ; yes = Always ignore info and assume NAT
                                    ; no = Use NAT mode only according to RFC3581 
                                    ; never = Never attempt NAT mode or RFC3581 support
    				; route = Assume NAT, don't send rport 
    				; (work around more UNIDEN bugs)
    
    
    ;canreinvite=yes		; 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).
    				; The default setting is YES. If you have all clients
    				; behind a NAT, or for some other reason wants
    				; Asterisk to stay in the audio path,
    				; you may want to turn this off
    
    ;----------------------------------------- REALTIME SUPPORT ------------------------
    ; For additional information on ARA, the Asterisk Realtime Architecture,
    
    ; please read realtime.txt and extconfig.txt in the /doc directory of the
    
    ;rtcachefriends=yes		; Cache realtime friends by adding them to the internal list
    				; just like friends added from the config file only on a
    				; as-needed basis? (yes|no)
    
    ;rtupdate=yes			; Send registry updates to database using realtime? (yes|no)
    				; If set to yes, when a SIP UA registers successfully, the ip address,
    				; the origination port, the registration period, and the username of
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; the UA will be set to database via realtime. 
    				; If not present, defaults to 'yes'.
    
    ;rtautoclear=yes		; Auto-Expire friends created on the fly on the same schedule
    				; as if it had just registered? (yes|no|<seconds>)
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; If set to yes, when the registration expires, the friend will
    				; vanish from the configuration until requested again. If set
    				; to an integer, friends expire within this number of seconds
    				; instead of the registration interval.
    
    ;ignoreregexpire=yes		; Enabling this setting has two functions:
    				;
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; For non-realtime peers, when their registration expires, the
    				; information will _not_ be removed from memory or the Asterisk database
    				; if you attempt to place a call to the peer, the existing information
    				; will be used in spiteof it having expired
    
    				;
    				; For realtime peers, when the peer is retrieved from realtime storage,
    				; the registration information will be used regardless of whether
    
    Olle Johansson's avatar
    Olle Johansson committed
    				; it has expired or not; if it expires while the realtime peer 
    				; is still in memory (due to caching or other reasons), the 
    				; information will not be removed from realtime storage
    
    ;----------------------------------------- SIP DOMAIN SUPPORT ------------------------
    
    ; Incoming INVITE and REFER messages can be matched against a list of 'allowed'
    ; domains, each of which can direct the call to a specific context if desired.
    ; By default, all domains are accepted and sent to the default context or the
    ; context associated with the user/peer placing the call.
    ; Domains can be specified using:
    ; domain=<domain>[,<context>]
    ; Examples:
    ; domain=myasterisk.dom
    ; domain=customer.com,customer-context
    ;
    ; In addition, all the 'default' domains associated with a server should be
    ; added if incoming request filtering is desired.
    ; autodomain=yes
    ;
    ; To disallow requests for domains not serviced by this server:
    ; allowexternaldomains=no
    
    
    ; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to
                              ; non-peers, use your primary domain "identity"
                              ; for From: headers instead of just your IP
                              ; address. This is to be polite and
                              ; it may be a mandatory requirement for some
                              ; destinations which do not have a prior
                              ; account relationship with your server. 
    
    
    [authentication]
    ; Global credentials for outbound calls, i.e. when a proxy challenges your
    ; Asterisk server for authentication. These credentials override
    ; any credentials in peer/register definition if realm is matched.
    ;
    ; This way, Asterisk can authenticate for outbound calls to other
    ; realms. We match realm on the proxy challenge and pick an set of 
    ; credentials from this list
    ; Syntax:
    ;	auth = <user>:<secret>@<realm>
    ;	auth = <user>#<md5secret>@<realm>
    ; Example:
    ;auth=mark:topsecret@digium.com
    ; 
    ; You may also add auth= statements to [peer] definitions 
    ; Peer auth= override all other authentication settings if we match on realm
    
    
    ;------------------------------------------------------------------------------
    
    ; 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
    
    ; callingpres		      callingpres
    
    ; permit                      permit
    ; deny                        deny
    ; secret                      secret
    ; md5secret                   md5secret
    ; dtmfmode                    dtmfmode
    ; canreinvite                 canreinvite
    ; nat                         nat
    ; callgroup                   callgroup
    ; pickupgroup                 pickupgroup
    ; language                    language
    ; allow                       allow
    ; disallow                    disallow
    ; insecure                    insecure
    
    ; progressinband              progressinband
    
    ; promiscredir                promiscredir
    
    Mark Spencer's avatar
    Mark Spencer committed
    ; accountcode                 accountcode
    ; setvar                      setvar
    
    ; amaflags		      amaflags
    
    Olle Johansson's avatar
    Olle Johansson committed
    ; allowoverlap		      allowoverlap
    ; allowsubscribe	      allowsubscribe
    
    ; subscribecontext	      subscribecontext
    
    Olle Johansson's avatar
    Olle Johansson committed
    ; videosupport		      videosupport
    ; maxcallbitrate	      maxcallbitrate
    
    ;                             mailbox
    ;                             username
    ;                             template
    ;                             fromdomain
    
    ;                             fromuser
    ;                             host
    ;                             port
    ;                             qualify
    ;                             defaultip
    
    
    ;[sip_proxy]
    ; For incoming calls only. Example: FWD (Free World Dialup)
    
    ; We match on IP address of the proxy for incoming calls 
    ; since we can not match on username (caller id)
    ;type=peer
    
    ;context=from-fwd
    
    ;host=fwd.pulver.com
    
    ;type=peer          		; we only want to call out, not be called
    
    ;username=yourusername		; Authentication user for outbound proxies
    ;fromuser=yourusername		; Many SIP providers require this!
    
    ;fromdomain=provider.sip.domain	
    
    ;host=box.provider.com
    
    ;usereqphone=yes		; This provider requires ";user=phone" on URI
    
    ;call-limit=5			; permit only 5 simultaneous outgoing calls to this peer
    
    				; Call-limits will not be enforced on real-time peers,
    				; since they are not stored in-memory
    
    ;------------------------------------------------------------------------------
    
    Olle Johansson's avatar
    Olle Johansson committed
    ; Definitions of locally connected SIP devices
    
    ; type = user	a device that authenticates to us by "from" field to place calls
    ; type = peer	a device we place calls to or that calls us and we match by host
    
    ; type = friend two configurations (peer+user) in one
    ;
    
    Olle Johansson's avatar
    Olle Johansson committed
    ; For device names, we recommend using only a-z, numerics (0-9) and underscore
    ; 
    
    ; For local phones, type=friend works most of the time
    ;
    ; If you have one-way audio, you propably have NAT problems. 
    ; If Asterisk is on a public IP, and the phone is inside of a NAT device
    ; you will need to configure nat option for those phones.
    ; Also, turn on qualify=yes to keep the nat session open
    
    
    ;type=friend 			
    ;context=from-sip		; Where to start in the dialplan when this phone calls
    ;callerid=John Doe <1234>	; Full caller ID, to override the phones config
    
    ;host=192.168.0.23		; we have a static but private IP address
    
    				; No registration allowed
    
    ;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
    
    ;call-limit=1			; permit only 1 outgoing call and 1 incoming call at a time
    
    				; 1 for the explicit peer, 1 for the explicit user,
    
    				; remember that a friend equals 1 peer and 1 user in
    
    				; memory
    				; This will affect your subscriptions as well.
    				; There is no combined call counter for a "friend"
    				; so there's currently no way in sip.conf to limit
    				; to one inbound or outbound call per phone. Use
    				; the group counters in the dial plan for that.
    				;
    
    ;mailbox=1234@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=g723.1			; Asterisk only supports g723.1 pass-thru!
    ;allow=g729			; Pass-thru only unless g729 license obtained
    
    ;astdb=chan2ext/SIP/grandstream1=1234	; ensures an astDB entry exists
    
    ;callingpres=allowed_passed_screen	; Set caller ID presentation
    				; See README.callingpres for more information
    
    ; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)!
    ; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;type=friend
    
    ;regexten=1234			; When they register, create extension 1234
    
    ;callerid="Jane Smith" <5678>
    
    ;host=dynamic			; This device needs to register
    ;nat=yes			; X-Lite is behind a NAT router
    ;canreinvite=no			; Typically set to NO if behind NAT
    
    ;allow=gsm			; GSM consumes far less bandwidth than ulaw
    
    ;allow=ulaw
    ;allow=alaw
    
    ;mailbox=1234@default,1233@default	; Subscribe to status of multiple mailboxes
    
    
    
    ;[snom]
    ;type=friend			; Friends place calls and receive calls
    ;context=from-sip		; Context for incoming calls from this user
    ;secret=blah
    
    ;subscribecontext=localextensions	; Only allow SUBSCRIBE for local extensions
    
    ;language=de			; Use German prompts for this user 
    
    ;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@context,2345      ; Mailbox(-es) for message waiting indicator
    
    ;subscribemwi=yes		; Only send notifications if this phone 
    				; subscribes for mailbox notification
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;vmexten=voicemail		; dialplan extension to reach mailbox 
    				; sets the Message-Account in the MWI notify message
    				; defaults to global vmexten which defaults to "asterisk"
    
    ;restrictcid=yes		; To have the callerid restriced -> sent as ANI
    
    ;allow=ulaw			; dtmfmode=inband only works with ulaw or alaw!
    
    ;[polycom]
    ;type=friend			; Friends place calls and receive calls
    ;context=from-sip		; Context for incoming calls from this user
    ;secret=blahpoly
    ;host=dynamic			; This peer register with us
    
    ;dtmfmode=rfc2833		; Choices are inband, rfc2833, or info
    
    ;username=polly			; Username to use in INVITE until peer registers
    
    				; Normally you do NOT need to set this parameter
    
    ;disallow=all
    ;allow=ulaw                     ; dtmfmode=inband only works with ulaw or alaw!
    ;progressinband=no		; Polycom phones don't work properly with "never"
    
    
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;[pingtel]
    ;type=friend
    ;secret=blah
    ;host=dynamic
    
    Olle Johansson's avatar
    Olle Johansson committed
    ;insecure=port			; Allow matching of peer by IP address without 
    				; matching port number
    
    ;insecure=invite		; Do not require authentication of incoming INVITEs
    ;insecure=port,invite		; (both)
    
    ;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
    
    Mark Spencer's avatar
    Mark Spencer committed
    ;type=friend
    ;secret=blah
    
    ;qualify=200			; Qualify peer is no more than 200ms away
    
    ;nat=yes			; This phone may be natted
    
    				; Send SIP and RTP to the 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		; IP address to use until registration
    ;username=goran			; Username to use when calling this device before registration
    
    				; Normally you do NOT need to set this parameter
    ;setvar=CUSTID=5678		; Channel variable to be set for all calls from this device