;
; 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@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
;

[general]
context=default ; Default context for incoming calls
;recordhistory=yes ; Record SIP history by default
; (see sip history / sip no history)
;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=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

;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)
;trustrpid = no ; If Remote-Party-ID should be trusted
;progressinband=no ; If we should generate in-band ringing always
;useragent=Asterisk PBX ; Allows you to change the user agent string
;nat=no ; NAT settings
; yes = Always ignore info and assume NAT
; no = Use NAT mode only according to RFC3581
; never = Never attempt NAT mode or RFC3581 support
;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address
; Asterisk can register as a SIP user agent to a SIP proxy (provider)
; Format for the register statement is:
; register => user[:secret[:authuser]]@host[ort][/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 => 1234assword@mysipprovider.com
;
; This will pass incoming calls to the 's' extension
;
;
;register => 2345assword@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

; 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

;[snom]
;type=friend ; Friends place calls and receive calls
;context=from-sip ; Context for incoming calls from this user
;secret=blah
;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
;username=snom ; Username to use in INVITE 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@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

; ---------------------------------------------------------
; [arbitrary-name] is the context referred to by the
; [voicepulse-in-01] user in iax.conf. This is where your
; custom incoming call processing should go.
;
; For sample purposes, this section will read back the
; dialed number and then test DTMF by reading back each
; digit pressed by the caller.
; ---------------------------------------------------------

[arbitrary-name] ; <-- Should match the context you have
; under [voicepulse-in-01] in iax.conf

; ---------------------------------------------------------
; This context is used to send all outgoing calls to the
; VoicePulse Connect! service for connection to the PSTN.
;
; Asterisk will attempt to dial out through gwiaxt01 first.
; If there is a problem, it will attempt to dial out
; through gwiaxt02.
;
; YOU MUST HAVE BOTH LINES FOR OUTGOING CALL REDUNDANCY!
;
; ---------------------------------------------------------

;
; There should be TWO lines after [outgoing], each beginning
; with "exten =>". Please check to make sure copying or
; cutting & pasting this sample did not break the lines into
; more than TWO exten lines.
;
[outgoing]
exten => _1NXXNXXXXXX,1,Dial(IAX2/MY_DEVICE_LOGIN:MY_DEVICE_PASSWORD@gwiaxt01.voicepulse.com/${EXTEN})
exten => _1NXXNXXXXXX,102,Dial(IAX2/MY_DEVICE_LOGIN:MY_DEVICE_PASSWORD@gwiaxt02.voicepulse.com/${EXTEN})