Fri, 22 Oct 2010 19:54:57 +0200
Correct dependencies and use a canonical package name.
michael@202 | 1 | ; |
michael@202 | 2 | ; SIP Configuration example for Asterisk |
michael@202 | 3 | ; |
michael@202 | 4 | ; Syntax for specifying a SIP device in extensions.conf is |
michael@202 | 5 | ; SIP/devicename where devicename is defined in a section below. |
michael@202 | 6 | ; |
michael@202 | 7 | ; You may also use |
michael@202 | 8 | ; SIP/username@domain to call any SIP user on the Internet |
michael@202 | 9 | ; (Don't forget to enable DNS SRV records if you want to use this) |
michael@202 | 10 | ; |
michael@202 | 11 | ; If you define a SIP proxy as a peer below, you may call |
michael@202 | 12 | ; SIP/proxyhostname/user or SIP/user@proxyhostname |
michael@202 | 13 | ; where the proxyhostname is defined in a section below |
michael@202 | 14 | ; |
michael@202 | 15 | ; Useful CLI commands to check peers/users: |
michael@202 | 16 | ; sip show peers Show all SIP peers (including friends) |
michael@202 | 17 | ; sip show users Show all SIP users (including friends) |
michael@202 | 18 | ; sip show registry Show status of hosts we register with |
michael@202 | 19 | ; |
michael@202 | 20 | ; sip debug Show all SIP messages |
michael@202 | 21 | ; |
michael@202 | 22 | ; reload chan_sip.so Reload configuration file |
michael@202 | 23 | ; Active SIP peers will not be reconfigured |
michael@202 | 24 | ; |
michael@202 | 25 | |
michael@202 | 26 | ;[general] |
michael@202 | 27 | ;context=default ; Default context for incoming calls |
michael@202 | 28 | ;allowguest=no ; Allow or reject guest calls (default is yes) |
michael@202 | 29 | ;allowoverlap=no ; Disable overlap dialing support. (Default is yes) |
michael@202 | 30 | ;allowtransfer=no ; Disable all transfers (unless enabled in peers or users) |
michael@202 | 31 | ; Default is enabled |
michael@202 | 32 | ;realm=mydomain.tld ; Realm for digest authentication |
michael@202 | 33 | ; defaults to "asterisk". If you set a system name in |
michael@202 | 34 | ; asterisk.conf, it defaults to that system name |
michael@202 | 35 | ; Realms MUST be globally unique according to RFC 3261 |
michael@202 | 36 | ; Set this to your host name or domain name |
michael@202 | 37 | ;bindport=5060 ; UDP Port to bind to (SIP standard port is 5060) |
michael@202 | 38 | ; bindport is the local UDP port that Asterisk will listen on |
michael@202 | 39 | ;bindaddr=0.0.0.0 ; IP address to bind to (0.0.0.0 binds to all) |
michael@202 | 40 | ;srvlookup=yes ; Enable DNS SRV lookups on outbound calls |
michael@202 | 41 | ; Note: Asterisk only uses the first host |
michael@202 | 42 | ; in SRV records |
michael@202 | 43 | ; Disabling DNS SRV lookups disables the |
michael@202 | 44 | ; ability to place SIP calls based on domain |
michael@202 | 45 | ; names to some other SIP users on the Internet |
michael@202 | 46 | |
michael@202 | 47 | ;domain=mydomain.tld ; Set default domain for this host |
michael@202 | 48 | ; If configured, Asterisk will only allow |
michael@202 | 49 | ; INVITE and REFER to non-local domains |
michael@202 | 50 | ; Use "sip show domains" to list local domains |
michael@202 | 51 | ;pedantic=yes ; Enable checking of tags in headers, |
michael@202 | 52 | ; international character conversions in URIs |
michael@202 | 53 | ; and multiline formatted headers for strict |
michael@202 | 54 | ; SIP compatibility (defaults to "no") |
michael@202 | 55 | |
michael@202 | 56 | ; See doc/README.tos for a description of these parameters. |
michael@202 | 57 | ;tos_sip=cs3 ; Sets TOS for SIP packets. |
michael@202 | 58 | ;tos_audio=ef ; Sets TOS for RTP audio packets. |
michael@202 | 59 | ;tos_video=af41 ; Sets TOS for RTP video packets. |
michael@202 | 60 | |
michael@202 | 61 | ;maxexpiry=3600 ; Maximum allowed time of incoming registrations |
michael@202 | 62 | ; and subscriptions (seconds) |
michael@202 | 63 | ;minexpiry=60 ; Minimum length of registrations/subscriptions (default 60) |
michael@202 | 64 | ;defaultexpiry=120 ; Default length of incoming/outgoing registration |
michael@202 | 65 | ;t1min=100 ; Minimum roundtrip time for messages to monitored hosts |
michael@202 | 66 | ; Defaults to 100 ms |
michael@202 | 67 | ;notifymimetype=text/plain ; Allow overriding of mime type in MWI NOTIFY |
michael@202 | 68 | ;checkmwi=10 ; Default time between mailbox checks for peers |
michael@202 | 69 | ;buggymwi=no ; Cisco SIP firmware doesn't support the MWI RFC |
michael@202 | 70 | ; fully. Enable this option to not get error messages |
michael@202 | 71 | ; when sending MWI to phones with this bug. |
michael@202 | 72 | ;vmexten=voicemail ; dialplan extension to reach mailbox sets the |
michael@202 | 73 | ; Message-Account in the MWI notify message |
michael@202 | 74 | ; defaults to "asterisk" |
michael@202 | 75 | ;disallow=all ; First disallow all codecs |
michael@202 | 76 | ;allow=ulaw ; Allow codecs in order of preference |
michael@202 | 77 | ;allow=ilbc ; see doc/rtp-packetization for framing options |
michael@202 | 78 | ; |
michael@202 | 79 | ; This option specifies a preference for which music on hold class this channel |
michael@202 | 80 | ; should listen to when put on hold if the music class has not been set on the |
michael@202 | 81 | ; channel with Set(CHANNEL(musicclass)=whatever) in the dialplan, and the peer |
michael@202 | 82 | ; channel putting this one on hold did not suggest a music class. |
michael@202 | 83 | ; |
michael@202 | 84 | ; This option may be specified globally, or on a per-user or per-peer basis. |
michael@202 | 85 | ; |
michael@202 | 86 | ;mohinterpret=default |
michael@202 | 87 | ; |
michael@202 | 88 | ; This option specifies which music on hold class to suggest to the peer channel |
michael@202 | 89 | ; when this channel places the peer on hold. It may be specified globally or on |
michael@202 | 90 | ; a per-user or per-peer basis. |
michael@202 | 91 | ; |
michael@202 | 92 | ;mohsuggest=default |
michael@202 | 93 | ; |
michael@202 | 94 | ;language=en ; Default language setting for all users/peers |
michael@202 | 95 | ; This may also be set for individual users/peers |
michael@202 | 96 | ;relaxdtmf=yes ; Relax dtmf handling |
michael@202 | 97 | ;trustrpid = no ; If Remote-Party-ID should be trusted |
michael@202 | 98 | ;sendrpid = yes ; If Remote-Party-ID should be sent |
michael@202 | 99 | ;progressinband=never ; If we should generate in-band ringing always |
michael@202 | 100 | ; use 'never' to never use in-band signalling, even in cases |
michael@202 | 101 | ; where some buggy devices might not render it |
michael@202 | 102 | ; Valid values: yes, no, never Default: never |
michael@202 | 103 | ;useragent=Asterisk PBX ; Allows you to change the user agent string |
michael@202 | 104 | ;promiscredir = no ; If yes, allows 302 or REDIR to non-local SIP address |
michael@202 | 105 | ; Note that promiscredir when redirects are made to the |
michael@202 | 106 | ; local system will cause loops since Asterisk is incapable |
michael@202 | 107 | ; of performing a "hairpin" call. |
michael@202 | 108 | ;usereqphone = no ; If yes, ";user=phone" is added to uri that contains |
michael@202 | 109 | ; a valid phone number |
michael@202 | 110 | ;dtmfmode = rfc2833 ; Set default dtmfmode for sending DTMF. Default: rfc2833 |
michael@202 | 111 | ; Other options: |
michael@202 | 112 | ; info : SIP INFO messages |
michael@202 | 113 | ; inband : Inband audio (requires 64 kbit codec -alaw, ulaw) |
michael@202 | 114 | ; auto : Use rfc2833 if offered, inband otherwise |
michael@202 | 115 | |
michael@202 | 116 | ;compactheaders = yes ; send compact sip headers. |
michael@202 | 117 | ; |
michael@202 | 118 | ;videosupport=yes ; Turn on support for SIP video. You need to turn this on |
michael@202 | 119 | ; in the this section to get any video support at all. |
michael@202 | 120 | ; You can turn it off on a per peer basis if the general |
michael@202 | 121 | ; video support is enabled, but you can't enable it for |
michael@202 | 122 | ; one peer only without enabling in the general section. |
michael@202 | 123 | ;maxcallbitrate=384 ; Maximum bitrate for video calls (default 384 kb/s) |
michael@202 | 124 | ; Videosupport and maxcallbitrate is settable |
michael@202 | 125 | ; for peers and users as well |
michael@202 | 126 | ;callevents=no ; generate manager events when sip ua |
michael@202 | 127 | ; performs events (e.g. hold) |
michael@202 | 128 | ;alwaysauthreject = yes ; When an incoming INVITE or REGISTER is to be rejected, |
michael@202 | 129 | ; for any reason, always reject with '401 Unauthorized' |
michael@202 | 130 | ; instead of letting the requester know whether there was |
michael@202 | 131 | ; a matching user or peer for their request |
michael@202 | 132 | |
michael@202 | 133 | ;g726nonstandard = yes ; If the peer negotiates G726-32 audio, use AAL2 packing |
michael@202 | 134 | ; order instead of RFC3551 packing order (this is required |
michael@202 | 135 | ; for Sipura and Grandstream ATAs, among others). This is |
michael@202 | 136 | ; contrary to the RFC3551 specification, the peer _should_ |
michael@202 | 137 | ; be negotiating AAL2-G726-32 instead :-( |
michael@202 | 138 | |
michael@202 | 139 | ;matchexterniplocally = yes ; Only substitute the externip or externhost setting if it matches |
michael@202 | 140 | ; your localnet setting. Unless you have some sort of strange network |
michael@202 | 141 | ; setup you will not need to enable this. |
michael@202 | 142 | |
michael@202 | 143 | ; |
michael@202 | 144 | ; If regcontext is specified, Asterisk will dynamically create and destroy a |
michael@202 | 145 | ; NoOp priority 1 extension for a given peer who registers or unregisters with |
michael@202 | 146 | ; us and have a "regexten=" configuration item. |
michael@202 | 147 | ; Multiple contexts may be specified by separating them with '&'. The |
michael@202 | 148 | ; actual extension is the 'regexten' parameter of the registering peer or its |
michael@202 | 149 | ; name if 'regexten' is not provided. If more than one context is provided, |
michael@202 | 150 | ; the context must be specified within regexten by appending the desired |
michael@202 | 151 | ; context after '@'. More than one regexten may be supplied if they are |
michael@202 | 152 | ; separated by '&'. Patterns may be used in regexten. |
michael@202 | 153 | ; |
michael@202 | 154 | ;regcontext=sipregistrations |
michael@202 | 155 | ; |
michael@202 | 156 | ;--------------------------- RTP timers ---------------------------------------------------- |
michael@202 | 157 | ; These timers are currently used for both audio and video streams. The RTP timeouts |
michael@202 | 158 | ; are only applied to the audio channel. |
michael@202 | 159 | ; The settings are settable in the global section as well as per device |
michael@202 | 160 | ; |
michael@202 | 161 | ;rtptimeout=60 ; Terminate call if 60 seconds of no RTP or RTCP activity |
michael@202 | 162 | ; on the audio channel |
michael@202 | 163 | ; when we're not on hold. This is to be able to hangup |
michael@202 | 164 | ; a call in the case of a phone disappearing from the net, |
michael@202 | 165 | ; like a powerloss or grandma tripping over a cable. |
michael@202 | 166 | ;rtpholdtimeout=300 ; Terminate call if 300 seconds of no RTP or RTCP activity |
michael@202 | 167 | ; on the audio channel |
michael@202 | 168 | ; when we're on hold (must be > rtptimeout) |
michael@202 | 169 | ;rtpkeepalive=<secs> ; Send keepalives in the RTP stream to keep NAT open |
michael@202 | 170 | ; (default is off - zero) |
michael@202 | 171 | ;--------------------------- SIP DEBUGGING --------------------------------------------------- |
michael@202 | 172 | ;sipdebug = yes ; Turn on SIP debugging by default, from |
michael@202 | 173 | ; the moment the channel loads this configuration |
michael@202 | 174 | ;recordhistory=yes ; Record SIP history by default |
michael@202 | 175 | ; (see sip history / sip no history) |
michael@202 | 176 | ;dumphistory=yes ; Dump SIP history at end of SIP dialogue |
michael@202 | 177 | ; SIP history is output to the DEBUG logging channel |
michael@202 | 178 | |
michael@202 | 179 | |
michael@202 | 180 | ;--------------------------- STATUS NOTIFICATIONS (SUBSCRIPTIONS) ---------------------------- |
michael@202 | 181 | ; You can subscribe to the status of extensions with a "hint" priority |
michael@202 | 182 | ; (See extensions.conf.sample for examples) |
michael@202 | 183 | ; chan_sip support two major formats for notifications: dialog-info and SIMPLE |
michael@202 | 184 | ; |
michael@202 | 185 | ; You will get more detailed reports (busy etc) if you have a call limit set |
michael@202 | 186 | ; for a device. When the call limit is filled, we will indicate busy. Note that |
michael@202 | 187 | ; you need at least 2 in order to be able to do attended transfers. |
michael@202 | 188 | ; |
michael@202 | 189 | ; For queues, you will need this level of detail in status reporting, regardless |
michael@202 | 190 | ; if you use SIP subscriptions. Queues and manager use the same internal interface |
michael@202 | 191 | ; for reading status information. |
michael@202 | 192 | ; |
michael@202 | 193 | ; Note: Subscriptions does not work if you have a realtime dialplan and use the |
michael@202 | 194 | ; realtime switch. |
michael@202 | 195 | ; |
michael@202 | 196 | ;allowsubscribe=no ; Disable support for subscriptions. (Default is yes) |
michael@202 | 197 | ;subscribecontext = default ; Set a specific context for SUBSCRIBE requests |
michael@202 | 198 | ; Useful to limit subscriptions to local extensions |
michael@202 | 199 | ; Settable per peer/user also |
michael@202 | 200 | ;notifyringing = yes ; Notify subscriptions on RINGING state (default: no) |
michael@202 | 201 | ;notifyhold = yes ; Notify subscriptions on HOLD state (default: no) |
michael@202 | 202 | ; Turning on notifyringing and notifyhold will add a lot |
michael@202 | 203 | ; more database transactions if you are using realtime. |
michael@202 | 204 | ;limitonpeers = yes ; Apply call limits on peers only. This will improve |
michael@202 | 205 | ; status notification when you are using type=friend |
michael@202 | 206 | ; Inbound calls, that really apply to the user part |
michael@202 | 207 | ; of a friend will now be added to and compared with |
michael@202 | 208 | ; the peer limit instead of applying two call limits, |
michael@202 | 209 | ; one for the peer and one for the user. |
michael@202 | 210 | ; "sip show inuse" will only show active calls on |
michael@202 | 211 | ; the peer side of a "type=friend" object if this |
michael@202 | 212 | ; setting is turned on. |
michael@202 | 213 | |
michael@202 | 214 | ;----------------------------------------- T.38 FAX PASSTHROUGH SUPPORT ----------------------- |
michael@202 | 215 | ; |
michael@202 | 216 | ; This setting is available in the [general] section as well as in device configurations. |
michael@202 | 217 | ; Setting this to yes, enables T.38 fax (UDPTL) passthrough on SIP to SIP calls, provided |
michael@202 | 218 | ; both parties have T38 support enabled in their Asterisk configuration |
michael@202 | 219 | ; This has to be enabled in the general section for all devices to work. You can then |
michael@202 | 220 | ; disable it on a per device basis. |
michael@202 | 221 | ; |
michael@202 | 222 | ; T.38 faxing only works in SIP to SIP calls, with no local or agent channel being used. |
michael@202 | 223 | ; |
michael@202 | 224 | ; t38pt_udptl = yes ; Default false |
michael@202 | 225 | ; |
michael@202 | 226 | ;----------------------------------------- OUTBOUND SIP REGISTRATIONS ------------------------ |
michael@202 | 227 | ; Asterisk can register as a SIP user agent to a SIP proxy (provider) |
michael@202 | 228 | ; Format for the register statement is: |
michael@202 | 229 | ; register => user[:secret[:authuser]]@host[:port][/extension] |
michael@202 | 230 | ; |
michael@202 | 231 | ; If no extension is given, the 's' extension is used. The extension needs to |
michael@202 | 232 | ; be defined in extensions.conf to be able to accept calls from this SIP proxy |
michael@202 | 233 | ; (provider). |
michael@202 | 234 | ; |
michael@202 | 235 | ; host is either a host name defined in DNS or the name of a section defined |
michael@202 | 236 | ; below. |
michael@202 | 237 | ; |
michael@202 | 238 | ; Examples: |
michael@202 | 239 | ; |
michael@202 | 240 | ;register => 1234:password@mysipprovider.com |
michael@202 | 241 | ; |
michael@202 | 242 | ; This will pass incoming calls to the 's' extension |
michael@202 | 243 | ; |
michael@202 | 244 | ; |
michael@202 | 245 | ;register => 2345:password@sip_proxy/1234 |
michael@202 | 246 | ; |
michael@202 | 247 | ; Register 2345 at sip provider 'sip_proxy'. Calls from this provider |
michael@202 | 248 | ; connect to local extension 1234 in extensions.conf, default context, |
michael@202 | 249 | ; unless you configure a [sip_proxy] section below, and configure a |
michael@202 | 250 | ; context. |
michael@202 | 251 | ; Tip 1: Avoid assigning hostname to a sip.conf section like [provider.com] |
michael@202 | 252 | ; Tip 2: Use separate type=peer and type=user sections for SIP providers |
michael@202 | 253 | ; (instead of type=friend) if you have calls in both directions |
michael@202 | 254 | |
michael@202 | 255 | ;registertimeout=20 ; retry registration calls every 20 seconds (default) |
michael@202 | 256 | ;registerattempts=10 ; Number of registration attempts before we give up |
michael@202 | 257 | ; 0 = continue forever, hammering the other server |
michael@202 | 258 | ; until it accepts the registration |
michael@202 | 259 | ; Default is 0 tries, continue forever |
michael@202 | 260 | |
michael@202 | 261 | ;----------------------------------------- NAT SUPPORT ------------------------ |
michael@202 | 262 | ; The externip, externhost and localnet settings are used if you use Asterisk |
michael@202 | 263 | ; behind a NAT device to communicate with services on the outside. |
michael@202 | 264 | |
michael@202 | 265 | ;externip = 200.201.202.203 ; Address that we're going to put in outbound SIP |
michael@202 | 266 | ; messages if we're behind a NAT |
michael@202 | 267 | |
michael@202 | 268 | ; The externip and localnet is used |
michael@202 | 269 | ; when registering and communicating with other proxies |
michael@202 | 270 | ; that we're registered with |
michael@202 | 271 | ;externhost=foo.dyndns.net ; Alternatively you can specify an |
michael@202 | 272 | ; external host, and Asterisk will |
michael@202 | 273 | ; perform DNS queries periodically. Not |
michael@202 | 274 | ; recommended for production |
michael@202 | 275 | ; environments! Use externip instead |
michael@202 | 276 | ;externrefresh=10 ; How often to refresh externhost if |
michael@202 | 277 | ; used |
michael@202 | 278 | ; You may add multiple local networks. A reasonable |
michael@202 | 279 | ; set of defaults are: |
michael@202 | 280 | ;localnet=192.168.0.0/255.255.0.0; All RFC 1918 addresses are local networks |
michael@202 | 281 | ;localnet=10.0.0.0/255.0.0.0 ; Also RFC1918 |
michael@202 | 282 | ;localnet=172.16.0.0/12 ; Another RFC1918 with CIDR notation |
michael@202 | 283 | ;localnet=169.254.0.0/255.255.0.0 ;Zero conf local network |
michael@202 | 284 | |
michael@202 | 285 | ; The nat= setting is used when Asterisk is on a public IP, communicating with |
michael@202 | 286 | ; devices hidden behind a NAT device (broadband router). If you have one-way |
michael@202 | 287 | ; audio problems, you usually have problems with your NAT configuration or your |
michael@202 | 288 | ; firewall's support of SIP+RTP ports. You configure Asterisk choice of RTP |
michael@202 | 289 | ; ports for incoming audio in rtp.conf |
michael@202 | 290 | ; |
michael@202 | 291 | ;nat=no ; Global NAT settings (Affects all peers and users) |
michael@202 | 292 | ; yes = Always ignore info and assume NAT |
michael@202 | 293 | ; no = Use NAT mode only according to RFC3581 (;rport) |
michael@202 | 294 | ; never = Never attempt NAT mode or RFC3581 support |
michael@202 | 295 | ; route = Assume NAT, don't send rport |
michael@202 | 296 | ; (work around more UNIDEN bugs) |
michael@202 | 297 | |
michael@202 | 298 | ;----------------------------------- MEDIA HANDLING -------------------------------- |
michael@202 | 299 | ; By default, Asterisk tries to re-invite the audio to an optimal path. If there's |
michael@202 | 300 | ; no reason for Asterisk to stay in the media path, the media will be redirected. |
michael@202 | 301 | ; This does not really work with in the case where Asterisk is outside and have |
michael@202 | 302 | ; clients on the inside of a NAT. In that case, you want to set canreinvite=nonat |
michael@202 | 303 | ; |
michael@202 | 304 | ;canreinvite=yes ; Asterisk by default tries to redirect the |
michael@202 | 305 | ; RTP media stream (audio) to go directly from |
michael@202 | 306 | ; the caller to the callee. Some devices do not |
michael@202 | 307 | ; support this (especially if one of them is behind a NAT). |
michael@202 | 308 | ; The default setting is YES. If you have all clients |
michael@202 | 309 | ; behind a NAT, or for some other reason wants Asterisk to |
michael@202 | 310 | ; stay in the audio path, you may want to turn this off. |
michael@202 | 311 | |
michael@202 | 312 | ; In Asterisk 1.4 this setting also affect direct RTP |
michael@202 | 313 | ; at call setup (a new feature in 1.4 - setting up the |
michael@202 | 314 | ; call directly between the endpoints instead of sending |
michael@202 | 315 | ; a re-INVITE). |
michael@202 | 316 | |
michael@202 | 317 | ;directrtpsetup=yes ; Enable the new experimental direct RTP setup. This sets up |
michael@202 | 318 | ; the call directly with media peer-2-peer without re-invites. |
michael@202 | 319 | ; Will not work for video and cases where the callee sends |
michael@202 | 320 | ; RTP payloads and fmtp headers in the 200 OK that does not match the |
michael@202 | 321 | ; callers INVITE. This will also fail if canreinvite is enabled when |
michael@202 | 322 | ; the device is actually behind NAT. |
michael@202 | 323 | |
michael@202 | 324 | ;canreinvite=nonat ; An additional option is to allow media path redirection |
michael@202 | 325 | ; (reinvite) but only when the peer where the media is being |
michael@202 | 326 | ; sent is known to not be behind a NAT (as the RTP core can |
michael@202 | 327 | ; determine it based on the apparent IP address the media |
michael@202 | 328 | ; arrives from). |
michael@202 | 329 | |
michael@202 | 330 | ;canreinvite=update ; Yet a third option... use UPDATE for media path redirection, |
michael@202 | 331 | ; instead of INVITE. This can be combined with 'nonat', as |
michael@202 | 332 | ; 'canreinvite=update,nonat'. It implies 'yes'. |
michael@202 | 333 | |
michael@202 | 334 | ;----------------------------------------- REALTIME SUPPORT ------------------------ |
michael@202 | 335 | ; For additional information on ARA, the Asterisk Realtime Architecture, |
michael@202 | 336 | ; please read realtime.txt and extconfig.txt in the /doc directory of the |
michael@202 | 337 | ; source code. |
michael@202 | 338 | ; |
michael@202 | 339 | ;rtcachefriends=yes ; Cache realtime friends by adding them to the internal list |
michael@202 | 340 | ; just like friends added from the config file only on a |
michael@202 | 341 | ; as-needed basis? (yes|no) |
michael@202 | 342 | |
michael@202 | 343 | ;rtsavesysname=yes ; Save systemname in realtime database at registration |
michael@202 | 344 | ; Default= no |
michael@202 | 345 | |
michael@202 | 346 | ;rtupdate=yes ; Send registry updates to database using realtime? (yes|no) |
michael@202 | 347 | ; If set to yes, when a SIP UA registers successfully, the ip address, |
michael@202 | 348 | ; the origination port, the registration period, and the username of |
michael@202 | 349 | ; the UA will be set to database via realtime. |
michael@202 | 350 | ; If not present, defaults to 'yes'. |
michael@202 | 351 | ;rtautoclear=yes ; Auto-Expire friends created on the fly on the same schedule |
michael@202 | 352 | ; as if it had just registered? (yes|no|<seconds>) |
michael@202 | 353 | ; If set to yes, when the registration expires, the friend will |
michael@202 | 354 | ; vanish from the configuration until requested again. If set |
michael@202 | 355 | ; to an integer, friends expire within this number of seconds |
michael@202 | 356 | ; instead of the registration interval. |
michael@202 | 357 | |
michael@202 | 358 | ;ignoreregexpire=yes ; Enabling this setting has two functions: |
michael@202 | 359 | ; |
michael@202 | 360 | ; For non-realtime peers, when their registration expires, the |
michael@202 | 361 | ; information will _not_ be removed from memory or the Asterisk database |
michael@202 | 362 | ; if you attempt to place a call to the peer, the existing information |
michael@202 | 363 | ; will be used in spite of it having expired |
michael@202 | 364 | ; |
michael@202 | 365 | ; For realtime peers, when the peer is retrieved from realtime storage, |
michael@202 | 366 | ; the registration information will be used regardless of whether |
michael@202 | 367 | ; it has expired or not; if it expires while the realtime peer |
michael@202 | 368 | ; is still in memory (due to caching or other reasons), the |
michael@202 | 369 | ; information will not be removed from realtime storage |
michael@202 | 370 | |
michael@202 | 371 | ;----------------------------------------- SIP DOMAIN SUPPORT ------------------------ |
michael@202 | 372 | ; Incoming INVITE and REFER messages can be matched against a list of 'allowed' |
michael@202 | 373 | ; domains, each of which can direct the call to a specific context if desired. |
michael@202 | 374 | ; By default, all domains are accepted and sent to the default context or the |
michael@202 | 375 | ; context associated with the user/peer placing the call. |
michael@202 | 376 | ; Domains can be specified using: |
michael@202 | 377 | ; domain=<domain>[,<context>] |
michael@202 | 378 | ; Examples: |
michael@202 | 379 | ; domain=myasterisk.dom |
michael@202 | 380 | ; domain=customer.com,customer-context |
michael@202 | 381 | ; |
michael@202 | 382 | ; In addition, all the 'default' domains associated with a server should be |
michael@202 | 383 | ; added if incoming request filtering is desired. |
michael@202 | 384 | ; autodomain=yes |
michael@202 | 385 | ; |
michael@202 | 386 | ; To disallow requests for domains not serviced by this server: |
michael@202 | 387 | ; allowexternaldomains=no |
michael@202 | 388 | |
michael@202 | 389 | ;domain=mydomain.tld,mydomain-incoming |
michael@202 | 390 | ; Add domain and configure incoming context |
michael@202 | 391 | ; for external calls to this domain |
michael@202 | 392 | ;domain=1.2.3.4 ; Add IP address as local domain |
michael@202 | 393 | ; You can have several "domain" settings |
michael@202 | 394 | ;allowexternaldomains=no ; Disable INVITE and REFER to non-local domains |
michael@202 | 395 | ; Default is yes |
michael@202 | 396 | ;autodomain=yes ; Turn this on to have Asterisk add local host |
michael@202 | 397 | ; name and local IP to domain list. |
michael@202 | 398 | |
michael@202 | 399 | ; fromdomain=mydomain.tld ; When making outbound SIP INVITEs to |
michael@202 | 400 | ; non-peers, use your primary domain "identity" |
michael@202 | 401 | ; for From: headers instead of just your IP |
michael@202 | 402 | ; address. This is to be polite and |
michael@202 | 403 | ; it may be a mandatory requirement for some |
michael@202 | 404 | ; destinations which do not have a prior |
michael@202 | 405 | ; account relationship with your server. |
michael@202 | 406 | |
michael@202 | 407 | ;------------------------------ JITTER BUFFER CONFIGURATION -------------------------- |
michael@202 | 408 | ; jbenable = yes ; Enables the use of a jitterbuffer on the receiving side of a |
michael@202 | 409 | ; SIP channel. Defaults to "no". An enabled jitterbuffer will |
michael@202 | 410 | ; be used only if the sending side can create and the receiving |
michael@202 | 411 | ; side can not accept jitter. The SIP channel can accept jitter, |
michael@202 | 412 | ; thus a jitterbuffer on the receive SIP side will be used only |
michael@202 | 413 | ; if it is forced and enabled. |
michael@202 | 414 | |
michael@202 | 415 | ; jbforce = no ; Forces the use of a jitterbuffer on the receive side of a SIP |
michael@202 | 416 | ; channel. Defaults to "no". |
michael@202 | 417 | |
michael@202 | 418 | ; jbmaxsize = 200 ; Max length of the jitterbuffer in milliseconds. |
michael@202 | 419 | |
michael@202 | 420 | ; jbresyncthreshold = 1000 ; Jump in the frame timestamps over which the jitterbuffer is |
michael@202 | 421 | ; resynchronized. Useful to improve the quality of the voice, with |
michael@202 | 422 | ; big jumps in/broken timestamps, usually sent from exotic devices |
michael@202 | 423 | ; and programs. Defaults to 1000. |
michael@202 | 424 | |
michael@202 | 425 | ; jbimpl = fixed ; Jitterbuffer implementation, used on the receiving side of a SIP |
michael@202 | 426 | ; channel. Two implementations are currently available - "fixed" |
michael@202 | 427 | ; (with size always equals to jbmaxsize) and "adaptive" (with |
michael@202 | 428 | ; variable size, actually the new jb of IAX2). Defaults to fixed. |
michael@202 | 429 | |
michael@202 | 430 | ; jblog = no ; Enables jitterbuffer frame logging. Defaults to "no". |
michael@202 | 431 | ;----------------------------------------------------------------------------------- |
michael@202 | 432 | |
michael@202 | 433 | ;[authentication] |
michael@202 | 434 | ; Global credentials for outbound calls, i.e. when a proxy challenges your |
michael@202 | 435 | ; Asterisk server for authentication. These credentials override |
michael@202 | 436 | ; any credentials in peer/register definition if realm is matched. |
michael@202 | 437 | ; |
michael@202 | 438 | ; This way, Asterisk can authenticate for outbound calls to other |
michael@202 | 439 | ; realms. We match realm on the proxy challenge and pick an set of |
michael@202 | 440 | ; credentials from this list |
michael@202 | 441 | ; Syntax: |
michael@202 | 442 | ; auth = <user>:<secret>@<realm> |
michael@202 | 443 | ; auth = <user>#<md5secret>@<realm> |
michael@202 | 444 | ; Example: |
michael@202 | 445 | ;auth=mark:topsecret@digium.com |
michael@202 | 446 | ; |
michael@202 | 447 | ; You may also add auth= statements to [peer] definitions |
michael@202 | 448 | ; Peer auth= override all other authentication settings if we match on realm |
michael@202 | 449 | |
michael@202 | 450 | ;------------------------------------------------------------------------------ |
michael@202 | 451 | ; Users and peers have different settings available. Friends have all settings, |
michael@202 | 452 | ; since a friend is both a peer and a user |
michael@202 | 453 | ; |
michael@202 | 454 | ; User config options: Peer configuration: |
michael@202 | 455 | ; -------------------- ------------------- |
michael@202 | 456 | ; context context |
michael@202 | 457 | ; callingpres callingpres |
michael@202 | 458 | ; permit permit |
michael@202 | 459 | ; deny deny |
michael@202 | 460 | ; secret secret |
michael@202 | 461 | ; md5secret md5secret |
michael@202 | 462 | ; dtmfmode dtmfmode |
michael@202 | 463 | ; canreinvite canreinvite |
michael@202 | 464 | ; nat nat |
michael@202 | 465 | ; callgroup callgroup |
michael@202 | 466 | ; pickupgroup pickupgroup |
michael@202 | 467 | ; language language |
michael@202 | 468 | ; allow allow |
michael@202 | 469 | ; disallow disallow |
michael@202 | 470 | ; insecure insecure |
michael@202 | 471 | ; trustrpid trustrpid |
michael@202 | 472 | ; progressinband progressinband |
michael@202 | 473 | ; promiscredir promiscredir |
michael@202 | 474 | ; useclientcode useclientcode |
michael@202 | 475 | ; accountcode accountcode |
michael@202 | 476 | ; setvar setvar |
michael@202 | 477 | ; callerid callerid |
michael@202 | 478 | ; amaflags amaflags |
michael@202 | 479 | ; call-limit call-limit |
michael@202 | 480 | ; allowoverlap allowoverlap |
michael@202 | 481 | ; allowsubscribe allowsubscribe |
michael@202 | 482 | ; allowtransfer allowtransfer |
michael@202 | 483 | ; subscribecontext subscribecontext |
michael@202 | 484 | ; videosupport videosupport |
michael@202 | 485 | ; maxcallbitrate maxcallbitrate |
michael@202 | 486 | ; rfc2833compensate mailbox |
michael@202 | 487 | ; username |
michael@202 | 488 | ; template |
michael@202 | 489 | ; fromdomain |
michael@202 | 490 | ; regexten |
michael@202 | 491 | ; fromuser |
michael@202 | 492 | ; host |
michael@202 | 493 | ; port |
michael@202 | 494 | ; qualify |
michael@202 | 495 | ; defaultip |
michael@202 | 496 | ; rtptimeout |
michael@202 | 497 | ; rtpholdtimeout |
michael@202 | 498 | ; sendrpid |
michael@202 | 499 | ; outboundproxy |
michael@202 | 500 | ; rfc2833compensate |
michael@202 | 501 | |
michael@202 | 502 | ;[sip_proxy] |
michael@202 | 503 | ; For incoming calls only. Example: FWD (Free World Dialup) |
michael@202 | 504 | ; We match on IP address of the proxy for incoming calls |
michael@202 | 505 | ; since we can not match on username (caller id) |
michael@202 | 506 | ;type=peer |
michael@202 | 507 | ;context=from-fwd |
michael@202 | 508 | ;host=fwd.pulver.com |
michael@202 | 509 | |
michael@202 | 510 | ;[sip_proxy-out] |
michael@202 | 511 | ;type=peer ; we only want to call out, not be called |
michael@202 | 512 | ;secret=guessit |
michael@202 | 513 | ;username=yourusername ; Authentication user for outbound proxies |
michael@202 | 514 | ;fromuser=yourusername ; Many SIP providers require this! |
michael@202 | 515 | ;fromdomain=provider.sip.domain |
michael@202 | 516 | ;host=box.provider.com |
michael@202 | 517 | ;usereqphone=yes ; This provider requires ";user=phone" on URI |
michael@202 | 518 | ;call-limit=5 ; permit only 5 simultaneous outgoing calls to this peer |
michael@202 | 519 | ;outboundproxy=proxy.provider.domain ; send outbound signaling to this proxy, not directly to the peer |
michael@202 | 520 | ; Call-limits will not be enforced on real-time peers, |
michael@202 | 521 | ; since they are not stored in-memory |
michael@202 | 522 | ;port=80 ; The port number we want to connect to on the remote side |
michael@202 | 523 | ; Also used as "defaultport" in combination with "defaultip" settings |
michael@202 | 524 | |
michael@202 | 525 | ;------------------------------------------------------------------------------ |
michael@202 | 526 | ; Definitions of locally connected SIP devices |
michael@202 | 527 | ; |
michael@202 | 528 | ; type = user a device that authenticates to us by "from" field to place calls |
michael@202 | 529 | ; type = peer a device we place calls to or that calls us and we match by host |
michael@202 | 530 | ; type = friend two configurations (peer+user) in one |
michael@202 | 531 | ; |
michael@202 | 532 | ; For device names, we recommend using only a-z, numerics (0-9) and underscore |
michael@202 | 533 | ; |
michael@202 | 534 | ; For local phones, type=friend works most of the time |
michael@202 | 535 | ; |
michael@202 | 536 | ; If you have one-way audio, you probably have NAT problems. |
michael@202 | 537 | ; If Asterisk is on a public IP, and the phone is inside of a NAT device |
michael@202 | 538 | ; you will need to configure nat option for those phones. |
michael@202 | 539 | ; Also, turn on qualify=yes to keep the nat session open |
michael@202 | 540 | |
michael@202 | 541 | ;[grandstream1] |
michael@202 | 542 | ;type=friend |
michael@202 | 543 | ;context=from-sip ; Where to start in the dialplan when this phone calls |
michael@202 | 544 | ;callerid=John Doe <1234> ; Full caller ID, to override the phones config |
michael@202 | 545 | ; on incoming calls to Asterisk |
michael@202 | 546 | ;host=192.168.0.23 ; we have a static but private IP address |
michael@202 | 547 | ; No registration allowed |
michael@202 | 548 | ;nat=no ; there is not NAT between phone and Asterisk |
michael@202 | 549 | ;canreinvite=yes ; allow RTP voice traffic to bypass Asterisk |
michael@202 | 550 | ;dtmfmode=info ; either RFC2833 or INFO for the BudgeTone |
michael@202 | 551 | ;call-limit=1 ; permit only 1 outgoing call and 1 incoming call at a time |
michael@202 | 552 | ; from the phone to asterisk |
michael@202 | 553 | ; 1 for the explicit peer, 1 for the explicit user, |
michael@202 | 554 | ; remember that a friend equals 1 peer and 1 user in |
michael@202 | 555 | ; memory |
michael@202 | 556 | ; This will affect your subscriptions as well. |
michael@202 | 557 | ; There is no combined call counter for a "friend" |
michael@202 | 558 | ; so there's currently no way in sip.conf to limit |
michael@202 | 559 | ; to one inbound or outbound call per phone. Use |
michael@202 | 560 | ; the group counters in the dial plan for that. |
michael@202 | 561 | ; |
michael@202 | 562 | ;mailbox=1234@default ; mailbox 1234 in voicemail context "default" |
michael@202 | 563 | ;disallow=all ; need to disallow=all before we can use allow= |
michael@202 | 564 | ;allow=ulaw ; Note: In user sections the order of codecs |
michael@202 | 565 | ; listed with allow= does NOT matter! |
michael@202 | 566 | ;allow=alaw |
michael@202 | 567 | ;allow=g723.1 ; Asterisk only supports g723.1 pass-thru! |
michael@202 | 568 | ;allow=g729 ; Pass-thru only unless g729 license obtained |
michael@202 | 569 | ;callingpres=allowed_passed_screen ; Set caller ID presentation |
michael@202 | 570 | ; See README.callingpres for more information |
michael@202 | 571 | |
michael@202 | 572 | |
michael@202 | 573 | ;[xlite1] |
michael@202 | 574 | ; Turn off silence suppression in X-Lite ("Transmit Silence"=YES)! |
michael@202 | 575 | ; Note that Xlite sends NAT keep-alive packets, so qualify=yes is not needed |
michael@202 | 576 | ;type=friend |
michael@202 | 577 | ;regexten=1234 ; When they register, create extension 1234 |
michael@202 | 578 | ;callerid="Jane Smith" <5678> |
michael@202 | 579 | ;host=dynamic ; This device needs to register |
michael@202 | 580 | ;nat=yes ; X-Lite is behind a NAT router |
michael@202 | 581 | ;canreinvite=no ; Typically set to NO if behind NAT |
michael@202 | 582 | ;disallow=all |
michael@202 | 583 | ;allow=gsm ; GSM consumes far less bandwidth than ulaw |
michael@202 | 584 | ;allow=ulaw |
michael@202 | 585 | ;allow=alaw |
michael@202 | 586 | ;mailbox=1234@default,1233@default ; Subscribe to status of multiple mailboxes |
michael@202 | 587 | |
michael@202 | 588 | |
michael@202 | 589 | ;[snom] |
michael@202 | 590 | ;type=friend ; Friends place calls and receive calls |
michael@202 | 591 | ;context=from-sip ; Context for incoming calls from this user |
michael@202 | 592 | ;secret=blah |
michael@202 | 593 | ;subscribecontext=localextensions ; Only allow SUBSCRIBE for local extensions |
michael@202 | 594 | ;language=de ; Use German prompts for this user |
michael@202 | 595 | ;host=dynamic ; This peer register with us |
michael@202 | 596 | ;dtmfmode=inband ; Choices are inband, rfc2833, or info |
michael@202 | 597 | ;defaultip=192.168.0.59 ; IP used until peer registers |
michael@202 | 598 | ;mailbox=1234@context,2345 ; Mailbox(-es) for message waiting indicator |
michael@202 | 599 | ;subscribemwi=yes ; Only send notifications if this phone |
michael@202 | 600 | ; subscribes for mailbox notification |
michael@202 | 601 | ;vmexten=voicemail ; dialplan extension to reach mailbox |
michael@202 | 602 | ; sets the Message-Account in the MWI notify message |
michael@202 | 603 | ; defaults to global vmexten which defaults to "asterisk" |
michael@202 | 604 | ;disallow=all |
michael@202 | 605 | ;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! |
michael@202 | 606 | |
michael@202 | 607 | |
michael@202 | 608 | ;[polycom] |
michael@202 | 609 | ;type=friend ; Friends place calls and receive calls |
michael@202 | 610 | ;context=from-sip ; Context for incoming calls from this user |
michael@202 | 611 | ;secret=blahpoly |
michael@202 | 612 | ;host=dynamic ; This peer register with us |
michael@202 | 613 | ;dtmfmode=rfc2833 ; Choices are inband, rfc2833, or info |
michael@202 | 614 | ;username=polly ; Username to use in INVITE until peer registers |
michael@202 | 615 | ; Normally you do NOT need to set this parameter |
michael@202 | 616 | ;disallow=all |
michael@202 | 617 | ;allow=ulaw ; dtmfmode=inband only works with ulaw or alaw! |
michael@202 | 618 | ;progressinband=no ; Polycom phones don't work properly with "never" |
michael@202 | 619 | |
michael@202 | 620 | |
michael@202 | 621 | ;[pingtel] |
michael@202 | 622 | ;type=friend |
michael@202 | 623 | ;secret=blah |
michael@202 | 624 | ;host=dynamic |
michael@202 | 625 | ;insecure=port ; Allow matching of peer by IP address without |
michael@202 | 626 | ; matching port number |
michael@202 | 627 | ;insecure=invite ; Do not require authentication of incoming INVITEs |
michael@202 | 628 | ;insecure=port,invite ; (both) |
michael@202 | 629 | ;qualify=1000 ; Consider it down if it's 1 second to reply |
michael@202 | 630 | ; Helps with NAT session |
michael@202 | 631 | ; qualify=yes uses default value |
michael@202 | 632 | ; |
michael@202 | 633 | ; Call group and Pickup group should be in the range from 0 to 63 |
michael@202 | 634 | ; |
michael@202 | 635 | ;callgroup=1,3-4 ; We are in caller groups 1,3,4 |
michael@202 | 636 | ;pickupgroup=1,3-5 ; We can do call pick-p for call group 1,3,4,5 |
michael@202 | 637 | ;defaultip=192.168.0.60 ; IP address to use if peer has not registered |
michael@202 | 638 | ;deny=0.0.0.0/0.0.0.0 ; ACL: Control access to this account based on IP address |
michael@202 | 639 | ;permit=192.168.0.60/255.255.255.0 |
michael@202 | 640 | |
michael@202 | 641 | ;[cisco1] |
michael@202 | 642 | ;type=friend |
michael@202 | 643 | ;secret=blah |
michael@202 | 644 | ;qualify=200 ; Qualify peer is no more than 200ms away |
michael@202 | 645 | ;nat=yes ; This phone may be natted |
michael@202 | 646 | ; Send SIP and RTP to the IP address that packet is |
michael@202 | 647 | ; received from instead of trusting SIP headers |
michael@202 | 648 | ;host=dynamic ; This device registers with us |
michael@202 | 649 | ;canreinvite=no ; Asterisk by default tries to redirect the |
michael@202 | 650 | ; RTP media stream (audio) to go directly from |
michael@202 | 651 | ; the caller to the callee. Some devices do not |
michael@202 | 652 | ; support this (especially if one of them is |
michael@202 | 653 | ; behind a NAT). |
michael@202 | 654 | ;defaultip=192.168.0.4 ; IP address to use until registration |
michael@202 | 655 | ;username=goran ; Username to use when calling this device before registration |
michael@202 | 656 | ; Normally you do NOT need to set this parameter |
michael@202 | 657 | ;setvar=CUSTID=5678 ; Channel variable to be set for all calls from this device |
michael@202 | 658 | |
michael@202 | 659 | ;[pre14-asterisk] |
michael@202 | 660 | ;type=friend |
michael@202 | 661 | ;secret=digium |
michael@202 | 662 | ;host=dynamic |
michael@202 | 663 | ;rfc2833compensate=yes ; Compensate for pre-1.4 DTMF transmission from another Asterisk machine. |
michael@202 | 664 | ; You must have this turned on or DTMF reception will work improperly. |