michael@202: ; michael@202: ; SIP Configuration example for Asterisk michael@202: ; michael@202: ; Syntax for specifying a SIP device in extensions.conf is michael@202: ; SIP/devicename where devicename is defined in a section below. michael@202: ; michael@202: ; You may also use michael@202: ; SIP/username@domain to call any SIP user on the Internet michael@202: ; (Don't forget to enable DNS SRV records if you want to use this) michael@202: ; michael@202: ; If you define a SIP proxy as a peer below, you may call michael@202: ; SIP/proxyhostname/user or SIP/user@proxyhostname michael@202: ; where the proxyhostname is defined in a section below michael@202: ; michael@202: ; Useful CLI commands to check peers/users: michael@202: ; sip show peers Show all SIP peers (including friends) michael@202: ; sip show users Show all SIP users (including friends) michael@202: ; sip show registry Show status of hosts we register with michael@202: ; michael@202: ; sip debug Show all SIP messages michael@202: ; michael@202: ; reload chan_sip.so Reload configuration file michael@202: ; Active SIP peers will not be reconfigured michael@202: ; michael@202: michael@202: ;[general] michael@202: ;context=default ; Default context for incoming calls michael@202: ;allowguest=no ; Allow or reject guest calls (default is yes) michael@202: ;allowoverlap=no ; Disable overlap dialing support. (Default is yes) michael@202: ;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) michael@202: ; Default is enabled michael@202: ;realm=mydomain.tld ; Realm for digest authentication michael@202: ; defaults to "asterisk". If you set a system name in michael@202: ; asterisk.conf, it defaults to that system name michael@202: ; Realms MUST be globally unique according to RFC 3261 michael@202: ; Set this to your host name or domain name michael@202: ;bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) michael@202: ; bindport is the local UDP port that Asterisk will listen on michael@202: ;bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) michael@202: ;srvlookup=yes ; Enable DNS SRV lookups on outbound calls michael@202: ; Note: Asterisk only uses the first host michael@202: ; in SRV records michael@202: ; Disabling DNS SRV lookups disables the michael@202: ; ability to place SIP calls based on domain michael@202: ; names to some other SIP users on the Internet michael@202: michael@202: ;domain=mydomain.tld ; Set default domain for this host michael@202: ; If configured, Asterisk will only allow michael@202: ; INVITE and REFER to non-local domains michael@202: ; Use "sip show domains" to list local domains michael@202: ;pedantic=yes ; Enable checking of tags in headers, michael@202: ; international character conversions in URIs michael@202: ; and multiline formatted headers for strict michael@202: ; SIP compatibility (defaults to "no") michael@202: michael@202: ; See doc/README.tos for a description of these parameters. michael@202: ;tos_sip=cs3 ; Sets TOS for SIP packets. michael@202: ;tos_audio=ef ; Sets TOS for RTP audio packets. michael@202: ;tos_video=af41 ; Sets TOS for RTP video packets. michael@202: michael@202: ;maxexpiry=3600 ; Maximum allowed time of incoming registrations michael@202: ; and subscriptions (seconds) michael@202: ;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) michael@202: ;defaultexpiry=120 ; Default length of incoming/outgoing registration michael@202: ;t1min=100 ; Minimum roundtrip time for messages to monitored hosts michael@202: ; Defaults to 100 ms michael@202: ;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY michael@202: ;checkmwi=10 ; Default time between mailbox checks for peers michael@202: ;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC michael@202: ; fully. Enable this option to not get error messages michael@202: ; when sending MWI to phones with this bug. michael@202: ;vmexten=voicemail ; dialplan extension to reach mailbox sets the michael@202: ; Message-Account in the MWI notify message michael@202: ; defaults to "asterisk" michael@202: ;disallow=all ; First disallow all codecs michael@202: ;allow=ulaw ; Allow codecs in order of preference michael@202: ;allow=ilbc ; see doc/rtp-packetization for framing options michael@202: ; michael@202: ; This option specifies a preference for which music on hold class this channel michael@202: ; should listen to when put on hold if the music class has not been set on the michael@202: ; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer michael@202: ; channel putting this one on hold did not suggest a music class. michael@202: ; michael@202: ; This option may be specified globally, or on a per-user or per-peer basis. michael@202: ; michael@202: ;mohinterpret=default michael@202: ; michael@202: ; This option specifies which music on hold class to suggest to the peer channel michael@202: ; when this channel places the peer on hold. It may be specified globally or on michael@202: ; a per-user or per-peer basis. michael@202: ; michael@202: ;mohsuggest=default michael@202: ; michael@202: ;language=en ; Default language setting for all users/peers michael@202: ; This may also be set for individual users/peers michael@202: ;relaxdtmf=yes ; Relax dtmf handling michael@202: ;trustrpid = no ; If Remote-Party-ID should be trusted michael@202: ;sendrpid = yes ; If Remote-Party-ID should be sent michael@202: ;progressinband=never ; If we should generate in-band ringing always michael@202: ; use 'never' to never use in-band signalling, even in cases michael@202: ; where some buggy devices might not render it michael@202: ; Valid values: yes, no, never Default: never michael@202: ;useragent=Asterisk PBX ; Allows you to change the user agent string michael@202: ;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address michael@202: ; Note that promiscredir when redirects are made to the michael@202: ; local system will cause loops since Asterisk is incapable michael@202: ; of performing a "hairpin" call. michael@202: ;usereqphone = no ; If yes, ";user=phone" is added to uri that contains michael@202: ; a valid phone number michael@202: ;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 michael@202: ; Other options: michael@202: ; info : SIP INFO messages michael@202: ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw) michael@202: ; auto : Use rfc2833 if offered, inband otherwise michael@202: michael@202: ;compactheaders = yes ; send compact sip headers. michael@202: ; michael@202: ;videosupport=yes ; Turn on support for SIP video. You need to turn this on michael@202: ; in the this section to get any video support at all. michael@202: ; You can turn it off on a per peer basis if the general michael@202: ; video support is enabled, but you can't enable it for michael@202: ; one peer only without enabling in the general section. michael@202: ;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) michael@202: ; Videosupport and maxcallbitrate is settable michael@202: ; for peers and users as well michael@202: ;callevents=no ; generate manager events when sip ua michael@202: ; performs events (e.g. hold) michael@202: ;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, michael@202: ; for any reason, always reject with '401 Unauthorized' michael@202: ; instead of letting the requester know whether there was michael@202: ; a matching user or peer for their request michael@202: michael@202: ;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing michael@202: ; order instead of RFC3551 packing order (this is required michael@202: ; for Sipura and Grandstream ATAs, among others). This is michael@202: ; contrary to the RFC3551 specification, the peer _should_ michael@202: ; be negotiating AAL2-G726-32 instead :-( michael@202: michael@202: ;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches michael@202: ; your localnet setting. Unless you have some sort of strange network michael@202: ; setup you will not need to enable this. michael@202: michael@202: ; michael@202: ; If regcontext is specified, Asterisk will dynamically create and destroy a michael@202: ; NoOp priority 1 extension for a given peer who registers or unregisters with michael@202: ; us and have a "regexten=" configuration item. michael@202: ; Multiple contexts may be specified by separating them with '&'. The michael@202: ; actual extension is the 'regexten' parameter of the registering peer or its michael@202: ; name if 'regexten' is not provided. If more than one context is provided, michael@202: ; the context must be specified within regexten by appending the desired michael@202: ; context after '@'. More than one regexten may be supplied if they are michael@202: ; separated by '&'. Patterns may be used in regexten. michael@202: ; michael@202: ;regcontext=sipregistrations michael@202: ; michael@202: ;--------------------------- RTP timers ---------------------------------------------------- michael@202: ; These timers are currently used for both audio and video streams. The RTP timeouts michael@202: ; are only applied to the audio channel. michael@202: ; The settings are settable in the global section as well as per device michael@202: ; michael@202: ;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity michael@202: ; on the audio channel michael@202: ; when we're not on hold. This is to be able to hangup michael@202: ; a call in the case of a phone disappearing from the net, michael@202: ; like a powerloss or grandma tripping over a cable. michael@202: ;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity michael@202: ; on the audio channel michael@202: ; when we're on hold (must be > rtptimeout) michael@202: ;rtpkeepalive= ; Send keepalives in the RTP stream to keep NAT open michael@202: ; (default is off - zero) michael@202: ;--------------------------- SIP DEBUGGING --------------------------------------------------- michael@202: ;sipdebug = yes ; Turn on SIP debugging by default, from michael@202: ; the moment the channel loads this configuration michael@202: ;recordhistory=yes ; Record SIP history by default michael@202: ; (see sip history / sip no history) michael@202: ;dumphistory=yes ; Dump SIP history at end of SIP dialogue michael@202: ; SIP history is output to the DEBUG logging channel michael@202: michael@202: michael@202: ;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ---------------------------- michael@202: ; You can subscribe to the status of extensions with a "hint" priority michael@202: ; (See extensions.conf.sample for examples) michael@202: ; chan_sip support two major formats for notifications: dialog-info and SIMPLE michael@202: ; michael@202: ; You will get more detailed reports (busy etc) if you have a call limit set michael@202: ; for a device. When the call limit is filled, we will indicate busy. Note that michael@202: ; you need at least 2 in order to be able to do attended transfers. michael@202: ; michael@202: ; For queues, you will need this level of detail in status reporting, regardless michael@202: ; if you use SIP subscriptions. Queues and manager use the same internal interface michael@202: ; for reading status information. michael@202: ; michael@202: ; Note: Subscriptions does not work if you have a realtime dialplan and use the michael@202: ; realtime switch. michael@202: ; michael@202: ;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) michael@202: ;subscribecontext = default ; Set a specific context for SUBSCRIBE requests michael@202: ; Useful to limit subscriptions to local extensions michael@202: ; Settable per peer/user also michael@202: ;notifyringing = yes ; Notify subscriptions on RINGING state (default: no) michael@202: ;notifyhold = yes ; Notify subscriptions on HOLD state (default: no) michael@202: ; Turning on notifyringing and notifyhold will add a lot michael@202: ; more database transactions if you are using realtime. michael@202: ;limitonpeers = yes ; Apply call limits on peers only. This will improve michael@202: ; status notification when you are using type=friend michael@202: ; Inbound calls, that really apply to the user part michael@202: ; of a friend will now be added to and compared with michael@202: ; the peer limit instead of applying two call limits, michael@202: ; one for the peer and one for the user. michael@202: ; "sip show inuse" will only show active calls on michael@202: ; the peer side of a "type=friend" object if this michael@202: ; setting is turned on. michael@202: michael@202: ;----------------------------------------- T.38 FAX PASSTHROUGH SUPPORT ----------------------- michael@202: ; michael@202: ; This setting is available in the [general] section as well as in device configurations. michael@202: ; Setting this to yes, enables T.38 fax (UDPTL) passthrough on SIP to SIP calls, provided michael@202: ; both parties have T38 support enabled in their Asterisk configuration michael@202: ; This has to be enabled in the general section for all devices to work. You can then michael@202: ; disable it on a per device basis. michael@202: ; michael@202: ; T.38 faxing only works in SIP to SIP calls, with no local or agent channel being used. michael@202: ; michael@202: ; t38pt_udptl = yes ; Default false michael@202: ; michael@202: ;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------ michael@202: ; Asterisk can register as a SIP user agent to a SIP proxy (provider) michael@202: ; Format for the register statement is: michael@202: ; register => user[:secret[:authuser]]@host[:port][/extension] michael@202: ; michael@202: ; If no extension is given, the 's' extension is used. The extension needs to michael@202: ; be defined in extensions.conf to be able to accept calls from this SIP proxy michael@202: ; (provider). michael@202: ; michael@202: ; host is either a host name defined in DNS or the name of a section defined michael@202: ; below. michael@202: ; michael@202: ; Examples: michael@202: ; michael@202: ;register => 1234:password@mysipprovider.com michael@202: ; michael@202: ; This will pass incoming calls to the 's' extension michael@202: ; michael@202: ; michael@202: ;register => 2345:password@sip_proxy/1234 michael@202: ; michael@202: ; Register 2345 at sip provider 'sip_proxy'. Calls from this provider michael@202: ; connect to local extension 1234 in extensions.conf, default context, michael@202: ; unless you configure a [sip_proxy] section below, and configure a michael@202: ; context. michael@202: ; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com] michael@202: ; Tip 2: Use separate type=peer and type=user sections for SIP providers michael@202: ; (instead of type=friend) if you have calls in both directions michael@202: michael@202: ;registertimeout=20 ; retry registration calls every 20 seconds (default) michael@202: ;registerattempts=10 ; Number of registration attempts before we give up michael@202: ; 0 = continue forever, hammering the other server michael@202: ; until it accepts the registration michael@202: ; Default is 0 tries, continue forever michael@202: michael@202: ;----------------------------------------- NAT SUPPORT ------------------------ michael@202: ; The externip, externhost and localnet settings are used if you use Asterisk michael@202: ; behind a NAT device to communicate with services on the outside. michael@202: michael@202: ;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP michael@202: ; messages if we're behind a NAT michael@202: michael@202: ; The externip and localnet is used michael@202: ; when registering and communicating with other proxies michael@202: ; that we're registered with michael@202: ;externhost=foo.dyndns.net ; Alternatively you can specify an michael@202: ; external host, and Asterisk will michael@202: ; perform DNS queries periodically. Not michael@202: ; recommended for production michael@202: ; environments! Use externip instead michael@202: ;externrefresh=10 ; How often to refresh externhost if michael@202: ; used michael@202: ; You may add multiple local networks. A reasonable michael@202: ; set of defaults are: michael@202: ;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks michael@202: ;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 michael@202: ;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation michael@202: ;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network michael@202: michael@202: ; The nat= setting is used when Asterisk is on a public IP, communicating with michael@202: ; devices hidden behind a NAT device (broadband router). If you have one-way michael@202: ; audio problems, you usually have problems with your NAT configuration or your michael@202: ; firewall's support of SIP+RTP ports. You configure Asterisk choice of RTP michael@202: ; ports for incoming audio in rtp.conf michael@202: ; michael@202: ;nat=no ; Global NAT settings (Affects all peers and users) michael@202: ; yes = Always ignore info and assume NAT michael@202: ; no = Use NAT mode only according to RFC3581 (;rport) michael@202: ; never = Never attempt NAT mode or RFC3581 support michael@202: ; route = Assume NAT, don't send rport michael@202: ; (work around more UNIDEN bugs) michael@202: michael@202: ;----------------------------------- MEDIA HANDLING -------------------------------- michael@202: ; By default, Asterisk tries to re-invite the audio to an optimal path. If there's michael@202: ; no reason for Asterisk to stay in the media path, the media will be redirected. michael@202: ; This does not really work with in the case where Asterisk is outside and have michael@202: ; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat michael@202: ; michael@202: ;canreinvite=yes ; Asterisk by default tries to redirect the michael@202: ; RTP media stream (audio) to go directly from michael@202: ; the caller to the callee. Some devices do not michael@202: ; support this (especially if one of them is behind a NAT). michael@202: ; The default setting is YES. If you have all clients michael@202: ; behind a NAT, or for some other reason wants Asterisk to michael@202: ; stay in the audio path, you may want to turn this off. michael@202: michael@202: ; In Asterisk 1.4 this setting also affect direct RTP michael@202: ; at call setup (a new feature in 1.4 - setting up the michael@202: ; call directly between the endpoints instead of sending michael@202: ; a re-INVITE). michael@202: michael@202: ;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up michael@202: ; the call directly with media peer-2-peer without re-invites. michael@202: ; Will not work for video and cases where the callee sends michael@202: ; RTP payloads and fmtp headers in the 200 OK that does not match the michael@202: ; callers INVITE. This will also fail if canreinvite is enabled when michael@202: ; the device is actually behind NAT. michael@202: michael@202: ;canreinvite=nonat ; An additional option is to allow media path redirection michael@202: ; (reinvite) but only when the peer where the media is being michael@202: ; sent is known to not be behind a NAT (as the RTP core can michael@202: ; determine it based on the apparent IP address the media michael@202: ; arrives from). michael@202: michael@202: ;canreinvite=update ; Yet a third option... use UPDATE for media path redirection, michael@202: ; instead of INVITE. This can be combined with 'nonat', as michael@202: ; 'canreinvite=update,nonat'. It implies 'yes'. michael@202: michael@202: ;----------------------------------------- REALTIME SUPPORT ------------------------ michael@202: ; For additional information on ARA, the Asterisk Realtime Architecture, michael@202: ; please read realtime.txt and extconfig.txt in the /doc directory of the michael@202: ; source code. michael@202: ; michael@202: ;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list michael@202: ; just like friends added from the config file only on a michael@202: ; as-needed basis? (yes|no) michael@202: michael@202: ;rtsavesysname=yes ; Save systemname in realtime database at registration michael@202: ; Default= no michael@202: michael@202: ;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) michael@202: ; If set to yes, when a SIP UA registers successfully, the ip address, michael@202: ; the origination port, the registration period, and the username of michael@202: ; the UA will be set to database via realtime. michael@202: ; If not present, defaults to 'yes'. michael@202: ;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule michael@202: ; as if it had just registered? (yes|no|) michael@202: ; If set to yes, when the registration expires, the friend will michael@202: ; vanish from the configuration until requested again. If set michael@202: ; to an integer, friends expire within this number of seconds michael@202: ; instead of the registration interval. michael@202: michael@202: ;ignoreregexpire=yes ; Enabling this setting has two functions: michael@202: ; michael@202: ; For non-realtime peers, when their registration expires, the michael@202: ; information will _not_ be removed from memory or the Asterisk database michael@202: ; if you attempt to place a call to the peer, the existing information michael@202: ; will be used in spite of it having expired michael@202: ; michael@202: ; For realtime peers, when the peer is retrieved from realtime storage, michael@202: ; the registration information will be used regardless of whether michael@202: ; it has expired or not; if it expires while the realtime peer michael@202: ; is still in memory (due to caching or other reasons), the michael@202: ; information will not be removed from realtime storage michael@202: michael@202: ;----------------------------------------- SIP DOMAIN SUPPORT ------------------------ michael@202: ; Incoming INVITE and REFER messages can be matched against a list of 'allowed' michael@202: ; domains, each of which can direct the call to a specific context if desired. michael@202: ; By default, all domains are accepted and sent to the default context or the michael@202: ; context associated with the user/peer placing the call. michael@202: ; Domains can be specified using: michael@202: ; domain=[,] michael@202: ; Examples: michael@202: ; domain=myasterisk.dom michael@202: ; domain=customer.com,customer-context michael@202: ; michael@202: ; In addition, all the 'default' domains associated with a server should be michael@202: ; added if incoming request filtering is desired. michael@202: ; autodomain=yes michael@202: ; michael@202: ; To disallow requests for domains not serviced by this server: michael@202: ; allowexternaldomains=no michael@202: michael@202: ;domain=mydomain.tld,mydomain-incoming michael@202: ; Add domain and configure incoming context michael@202: ; for external calls to this domain michael@202: ;domain=1.2.3.4 ; Add IP address as local domain michael@202: ; You can have several "domain" settings michael@202: ;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains michael@202: ; Default is yes michael@202: ;autodomain=yes ; Turn this on to have Asterisk add local host michael@202: ; name and local IP to domain list. michael@202: michael@202: ; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to michael@202: ; non-peers, use your primary domain "identity" michael@202: ; for From: headers instead of just your IP michael@202: ; address. This is to be polite and michael@202: ; it may be a mandatory requirement for some michael@202: ; destinations which do not have a prior michael@202: ; account relationship with your server. michael@202: michael@202: ;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- michael@202: ; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a michael@202: ; SIP channel. Defaults to "no". An enabled jitterbuffer will michael@202: ; be used only if the sending side can create and the receiving michael@202: ; side can not accept jitter. The SIP channel can accept jitter, michael@202: ; thus a jitterbuffer on the receive SIP side will be used only michael@202: ; if it is forced and enabled. michael@202: michael@202: ; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP michael@202: ; channel. Defaults to "no". michael@202: michael@202: ; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. michael@202: michael@202: ; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is michael@202: ; resynchronized. Useful to improve the quality of the voice, with michael@202: ; big jumps in/broken timestamps, usually sent from exotic devices michael@202: ; and programs. Defaults to 1000. michael@202: michael@202: ; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP michael@202: ; channel. Two implementations are currently available - "fixed" michael@202: ; (with size always equals to jbmaxsize) and "adaptive" (with michael@202: ; variable size, actually the new jb of IAX2). Defaults to fixed. michael@202: michael@202: ; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". michael@202: ;----------------------------------------------------------------------------------- michael@202: michael@202: ;[authentication] michael@202: ; Global credentials for outbound calls, i.e. when a proxy challenges your michael@202: ; Asterisk server for authentication. These credentials override michael@202: ; any credentials in peer/register definition if realm is matched. michael@202: ; michael@202: ; This way, Asterisk can authenticate for outbound calls to other michael@202: ; realms. We match realm on the proxy challenge and pick an set of michael@202: ; credentials from this list michael@202: ; Syntax: michael@202: ; auth = :@ michael@202: ; auth = #@ michael@202: ; Example: michael@202: ;auth=mark:topsecret@digium.com michael@202: ; michael@202: ; You may also add auth= statements to [peer] definitions michael@202: ; Peer auth= override all other authentication settings if we match on realm michael@202: michael@202: ;------------------------------------------------------------------------------ michael@202: ; Users and peers have different settings available. Friends have all settings, michael@202: ; since a friend is both a peer and a user michael@202: ; michael@202: ; User config options: Peer configuration: michael@202: ; -------------------- ------------------- michael@202: ; context context michael@202: ; callingpres callingpres michael@202: ; permit permit michael@202: ; deny deny michael@202: ; secret secret michael@202: ; md5secret md5secret michael@202: ; dtmfmode dtmfmode michael@202: ; canreinvite canreinvite michael@202: ; nat nat michael@202: ; callgroup callgroup michael@202: ; pickupgroup pickupgroup michael@202: ; language language michael@202: ; allow allow michael@202: ; disallow disallow michael@202: ; insecure insecure michael@202: ; trustrpid trustrpid michael@202: ; progressinband progressinband michael@202: ; promiscredir promiscredir michael@202: ; useclientcode useclientcode michael@202: ; accountcode accountcode michael@202: ; setvar setvar michael@202: ; callerid callerid michael@202: ; amaflags amaflags michael@202: ; call-limit call-limit michael@202: ; allowoverlap allowoverlap michael@202: ; allowsubscribe allowsubscribe michael@202: ; allowtransfer allowtransfer michael@202: ; subscribecontext subscribecontext michael@202: ; videosupport videosupport michael@202: ; maxcallbitrate maxcallbitrate michael@202: ; rfc2833compensate mailbox michael@202: ; username michael@202: ; template michael@202: ; fromdomain michael@202: ; regexten michael@202: ; fromuser michael@202: ; host michael@202: ; port michael@202: ; qualify michael@202: ; defaultip michael@202: ; rtptimeout michael@202: ; rtpholdtimeout michael@202: ; sendrpid michael@202: ; outboundproxy michael@202: ; rfc2833compensate michael@202: michael@202: ;[sip_proxy] michael@202: ; For incoming calls only. Example: FWD (Free World Dialup) michael@202: ; We match on IP address of the proxy for incoming calls michael@202: ; since we can not match on username (caller id) michael@202: ;type=peer michael@202: ;context=from-fwd michael@202: ;host=fwd.pulver.com michael@202: michael@202: ;[sip_proxy-out] michael@202: ;type=peer ; we only want to call out, not be called michael@202: ;secret=guessit michael@202: ;username=yourusername ; Authentication user for outbound proxies michael@202: ;fromuser=yourusername ; Many SIP providers require this! michael@202: ;fromdomain=provider.sip.domain michael@202: ;host=box.provider.com michael@202: ;usereqphone=yes ; This provider requires ";user=phone" on URI michael@202: ;call-limit=5 ; permit only 5 simultaneous outgoing calls to this peer michael@202: ;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer michael@202: ; Call-limits will not be enforced on real-time peers, michael@202: ; since they are not stored in-memory michael@202: ;port=80 ; The port number we want to connect to on the remote side michael@202: ; Also used as "defaultport" in combination with "defaultip" settings michael@202: michael@202: ;------------------------------------------------------------------------------ michael@202: ; Definitions of locally connected SIP devices michael@202: ; michael@202: ; type = user a device that authenticates to us by "from" field to place calls michael@202: ; type = peer a device we place calls to or that calls us and we match by host michael@202: ; type = friend two configurations (peer+user) in one michael@202: ; michael@202: ; For device names, we recommend using only a-z, numerics (0-9) and underscore michael@202: ; michael@202: ; For local phones, type=friend works most of the time michael@202: ; michael@202: ; If you have one-way audio, you probably have NAT problems. michael@202: ; If Asterisk is on a public IP, and the phone is inside of a NAT device michael@202: ; you will need to configure nat option for those phones. michael@202: ; Also, turn on qualify=yes to keep the nat session open michael@202: michael@202: ;[grandstream1] michael@202: ;type=friend michael@202: ;context=from-sip ; Where to start in the dialplan when this phone calls michael@202: ;callerid=John Doe <1234> ; Full caller ID, to override the phones config michael@202: ; on incoming calls to Asterisk michael@202: ;host=192.168.0.23 ; we have a static but private IP address michael@202: ; No registration allowed michael@202: ;nat=no ; there is not NAT between phone and Asterisk michael@202: ;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk michael@202: ;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone michael@202: ;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time michael@202: ; from the phone to asterisk michael@202: ; 1 for the explicit peer, 1 for the explicit user, michael@202: ; remember that a friend equals 1 peer and 1 user in michael@202: ; memory michael@202: ; This will affect your subscriptions as well. michael@202: ; There is no combined call counter for a "friend" michael@202: ; so there's currently no way in sip.conf to limit michael@202: ; to one inbound or outbound call per phone. Use michael@202: ; the group counters in the dial plan for that. michael@202: ; michael@202: ;mailbox=1234@default ; mailbox 1234 in voicemail context "default" michael@202: ;disallow=all ; need to disallow=all before we can use allow= michael@202: ;allow=ulaw ; Note: In user sections the order of codecs michael@202: ; listed with allow= does NOT matter! michael@202: ;allow=alaw michael@202: ;allow=g723.1 ; Asterisk only supports g723.1 pass-thru! michael@202: ;allow=g729 ; Pass-thru only unless g729 license obtained michael@202: ;callingpres=allowed_passed_screen ; Set caller ID presentation michael@202: ; See README.callingpres for more information michael@202: michael@202: michael@202: ;[xlite1] michael@202: ; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)! michael@202: ; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed michael@202: ;type=friend michael@202: ;regexten=1234 ; When they register, create extension 1234 michael@202: ;callerid="Jane Smith" <5678> michael@202: ;host=dynamic ; This device needs to register michael@202: ;nat=yes ; X-Lite is behind a NAT router michael@202: ;canreinvite=no ; Typically set to NO if behind NAT michael@202: ;disallow=all michael@202: ;allow=gsm ; GSM consumes far less bandwidth than ulaw michael@202: ;allow=ulaw michael@202: ;allow=alaw michael@202: ;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes michael@202: michael@202: michael@202: ;[snom] michael@202: ;type=friend ; Friends place calls and receive calls michael@202: ;context=from-sip ; Context for incoming calls from this user michael@202: ;secret=blah michael@202: ;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions michael@202: ;language=de ; Use German prompts for this user michael@202: ;host=dynamic ; This peer register with us michael@202: ;dtmfmode=inband ; Choices are inband, rfc2833, or info michael@202: ;defaultip=192.168.0.59 ; IP used until peer registers michael@202: ;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator michael@202: ;subscribemwi=yes ; Only send notifications if this phone michael@202: ; subscribes for mailbox notification michael@202: ;vmexten=voicemail ; dialplan extension to reach mailbox michael@202: ; sets the Message-Account in the MWI notify message michael@202: ; defaults to global vmexten which defaults to "asterisk" michael@202: ;disallow=all michael@202: ;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! michael@202: michael@202: michael@202: ;[polycom] michael@202: ;type=friend ; Friends place calls and receive calls michael@202: ;context=from-sip ; Context for incoming calls from this user michael@202: ;secret=blahpoly michael@202: ;host=dynamic ; This peer register with us michael@202: ;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info michael@202: ;username=polly ; Username to use in INVITE until peer registers michael@202: ; Normally you do NOT need to set this parameter michael@202: ;disallow=all michael@202: ;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! michael@202: ;progressinband=no ; Polycom phones don't work properly with "never" michael@202: michael@202: michael@202: ;[pingtel] michael@202: ;type=friend michael@202: ;secret=blah michael@202: ;host=dynamic michael@202: ;insecure=port ; Allow matching of peer by IP address without michael@202: ; matching port number michael@202: ;insecure=invite ; Do not require authentication of incoming INVITEs michael@202: ;insecure=port,invite ; (both) michael@202: ;qualify=1000 ; Consider it down if it's 1 second to reply michael@202: ; Helps with NAT session michael@202: ; qualify=yes uses default value michael@202: ; michael@202: ; Call group and Pickup group should be in the range from 0 to 63 michael@202: ; michael@202: ;callgroup=1,3-4 ; We are in caller groups 1,3,4 michael@202: ;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5 michael@202: ;defaultip=192.168.0.60 ; IP address to use if peer has not registered michael@202: ;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address michael@202: ;permit=192.168.0.60/255.255.255.0 michael@202: michael@202: ;[cisco1] michael@202: ;type=friend michael@202: ;secret=blah michael@202: ;qualify=200 ; Qualify peer is no more than 200ms away michael@202: ;nat=yes ; This phone may be natted michael@202: ; Send SIP and RTP to the IP address that packet is michael@202: ; received from instead of trusting SIP headers michael@202: ;host=dynamic ; This device registers with us michael@202: ;canreinvite=no ; Asterisk by default tries to redirect the michael@202: ; RTP media stream (audio) to go directly from michael@202: ; the caller to the callee. Some devices do not michael@202: ; support this (especially if one of them is michael@202: ; behind a NAT). michael@202: ;defaultip=192.168.0.4 ; IP address to use until registration michael@202: ;username=goran ; Username to use when calling this device before registration michael@202: ; Normally you do NOT need to set this parameter michael@202: ;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device michael@202: michael@202: ;[pre14-asterisk] michael@202: ;type=friend michael@202: ;secret=digium michael@202: ;host=dynamic michael@202: ;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine. michael@202: ; You must have this turned on or DTMF reception will work improperly.