res_pjsip_sdp_rtp: Add support for optimistic SRTP.
[asterisk/asterisk.git] / configs / samples / pjsip.conf.sample
1 ; PJSIP Configuration Samples and Quick Reference
2 ;
3 ; This file has several very basic configuration examples, to serve as a quick
4 ; reference to jog your memory when you need to write up a new configuration.
5 ; It is not intended to teach PJSIP configuration or serve as an exhaustive
6 ; reference of options and potential scenarios.
7 ;
8 ; This file has two main sections.
9 ; First, manually written examples to serve as a handy reference.
10 ; Second, a list of all possible PJSIP config options by section. This is
11 ; pulled from the XML config help. It only shows the synopsis for every item.
12 ; If you want to see more detail please check the documentation sources
13 ; mentioned at the top of this file.
14
15 ; Documentation
16 ;
17 ; The official documentation is at http://wiki.asterisk.org
18 ; You can read the XML configuration help via Asterisk command line with
19 ; "config show help res_pjsip", then you can drill down through the various
20 ; sections and their options.
21 ;
22
23 ;========!!!!!!!!!!!!!!!!!!!  SECURITY NOTICE  !!!!!!!!!!!!!!!!!!!!===========
24 ;
25 ; At a minimum please read the file "README-SERIOUSLY.bestpractices.txt",
26 ; located in the Asterisk source directory before starting Asterisk.
27 ; Otherwise you risk allowing the security of the Asterisk system to be
28 ; compromised. Beyond that please visit and read the security information on
29 ; the wiki at: https://wiki.asterisk.org/wiki/x/EwFB
30 ;
31 ; A few basics to pay attention to:
32 ;
33 ; Anonymous Calls
34 ;
35 ; By default anonymous inbound calls via PJSIP are not allowed. If you want to
36 ; route anonymous calls you'll need to define an endpoint named "anonymous".
37 ; res_pjsip_endpoint_identifier_anonymous.so handles that functionality so it
38 ; must be loaded. It is not recommended to accept anonymous calls.
39 ;
40 ; Access Control Lists
41 ;
42 ; See the example ACL configuration in this file. Read the configuration help
43 ; for the section and all of its options. Look over the samples in acl.conf
44 ; and documentation at https://wiki.asterisk.org/wiki/x/uA80AQ
45 ; If possible, restrict access to only networks and addresses you trust.
46 ;
47 ; Dialplan Contexts
48 ;
49 ; When defining configuration (such as an endpoint) that links into
50 ; dialplan configuration, be aware of what that dialplan does. It's easy to
51 ; accidentally provide access to internal or outbound dialing extensions which
52 ; could cost you severely. The "context=" line in endpoint configuration
53 ; determines which dialplan context inbound calls will enter into.
54 ;
55 ;=============================================================================
56
57 ; Overview of Configuration Section Types Used in the Examples
58 ;
59 ; * Transport "transport"
60 ;   * Configures res_pjsip transport layer interaction.
61 ; * Endpoint "endpoint"
62 ;   * Configures core SIP functionality related to SIP endpoints.
63 ; * Authentication "auth"
64 ;   * Stores inbound or outbound authentication credentials for use by trunks,
65 ;     endpoints, registrations.
66 ; * Address of Record "aor"
67 ;   * Stores contact information for use by endpoints.
68 ; * Endpoint Identification "identify"
69 ;   * Maps a host directly to an endpoint
70 ; * Access Control List "acl"
71 ;   * Defines a permission list or references one stored in acl.conf
72 ; * Registration "registration"
73 ;   * Contains information about an outbound SIP registration
74 ; * Phone Provisioning "phoneprov"
75 ;   * Contains information needed by res_phoneprov for autoprovisioning
76
77 ; The following sections show example configurations for various scenarios.
78 ; Most require a couple or more configuration types configured in concert.
79
80 ;=============================================================================
81
82 ; Naming of Configuration Sections
83 ;
84 ; Configuration section names are denoted with enclosing brackets,
85 ; e.g. [6001]
86 ; In most cases, you can name a section whatever makes sense to you. For example
87 ; you might name a transport [transport-udp-nat] to help you remember how that
88 ; section is being used. However, in some cases, ("endpoint" and "aor" types)
89 ; the section name has a relationship to its function.
90 ;
91 ; Depending on the modules loaded, Asterisk can match SIP requests to an
92 ; endpoint or aor in a few ways:
93 ;
94 ; 1) Match a section name for endpoint type sections to the username in the
95 ;    "From" header of inbound SIP requests.
96 ; 2) Match a section name for aor type sections to the username in the "To"
97 ;    header of inbound SIP REGISTER requests.
98 ; 3) With an identify type section configured, match an inbound SIP request of
99 ;    any type to an endpoint or aor based on the IP source address of the
100 ;    request.
101 ;
102 ; Note that sections can have the same name as long as their "type" options are
103 ; set to different values. In most cases it makes sense to have associated
104 ; configuration sections use the same name, as you'll see in the examples within
105 ; this file.
106
107 ;===============EXAMPLE TRANSPORTS============================================
108 ;
109 ; A few examples for potential transport options.
110 ;
111 ; For the NAT transport example, be aware that the options starting with
112 ; the prefix "external_" will only apply to communication with addresses
113 ; outside the range set with "local_net=".
114 ;
115 ; IPv6: For endpoints using IPv6, remember to set "rtp_ipv6=yes" so that the RTP
116 ; engine will also be able to bind to an IPv6 address.
117 ;
118 ; You can have more than one of any type of transport, as long as it doesn't
119 ; use the same resources (bind address, port, etc) as the others.
120
121 ; Basic UDP transport
122 ;
123 ;[transport-udp]
124 ;type=transport
125 ;protocol=udp    ;udp,tcp,tls,ws,wss
126 ;bind=0.0.0.0
127
128 ; UDP transport behind NAT
129 ;
130 ;[transport-udp-nat]
131 ;type=transport
132 ;protocol=udp
133 ;bind=0.0.0.0
134 ;local_net=192.0.2.0/24
135 ;external_media_address=203.0.113.1
136 ;external_signaling_address=203.0.113.1
137
138 ; Basic IPv6 UDP transport
139 ;
140 ;[transport-udp-ipv6]
141 ;type=transport
142 ;protocol=udp
143 ;bind=::
144
145 ; Example IPv4 TLS transport
146 ;
147 ;[transport-tls]
148 ;type=transport
149 ;protocol=tls
150 ;bind=0.0.0.0
151 ;cert_file=/path/mycert.crt
152 ;priv_key_file=/path/mykey.key
153 ;cipher=ADH-AES256-SHA,ADH-AES128-SHA
154 ;method=tlsv1
155
156
157 ;===============OUTBOUND REGISTRATION WITH OUTBOUND AUTHENTICATION============
158 ;
159 ; This is a simple registration that works with some SIP trunking providers.
160 ; You'll need to set up the auth example "mytrunk_auth" below to enable outbound
161 ; authentication. Note that we "outbound_auth=" use for outbound authentication
162 ; instead of "auth=", which is for inbound authentication.
163 ;
164 ; If you are registering to a server from behind NAT, be sure you assign a transport
165 ; that is appropriately configured with NAT related settings. See the NAT transport example.
166 ;
167 ; "contact_user=" sets the SIP contact header's user portion of the SIP URI
168 ; this will affect the extension reached in dialplan when the far end calls you at this
169 ; registration. The default is 's'.
170 ;
171 ; If you would like to enable line support and have incoming calls related to this
172 ; registration go to an endpoint automatically the "line" and "endpoint" options must
173 ; be set. The "endpoint" option specifies what endpoint the incoming call should be
174 ; associated with.
175
176 ;[mytrunk]
177 ;type=registration
178 ;transport=transport-udp
179 ;outbound_auth=mytrunk_auth
180 ;server_uri=sip:sip.example.com
181 ;client_uri=sip:1234567890@sip.example.com
182 ;contact_user=1234567890
183 ;retry_interval=60
184 ;forbidden_retry_interval=600
185 ;expiration=3600
186 ;line=yes
187 ;endpoint=mytrunk
188
189 ;[mytrunk_auth]
190 ;type=auth
191 ;auth_type=userpass
192 ;password=1234567890
193 ;username=1234567890
194 ;realm=sip.example.com
195
196 ;===============ENDPOINT CONFIGURED AS A TRUNK, OUTBOUND AUTHENTICATION=======
197 ;
198 ; This is one way to configure an endpoint as a trunk. It is set up with
199 ; "outbound_auth=" to enable authentication when dialing out through this
200 ; endpoint. There is no inbound authentication set up since a provider will
201 ; not normally authenticate when calling you.
202 ;
203 ; The identify configuration enables IP address matching against this endpoint.
204 ; For calls from a trunking provider, the From user may be different every time,
205 ; so we want to match against IP address instead of From user.
206 ;
207 ; If you want the provider of your trunk to know where to send your calls
208 ; you'll need to use an outbound registration as in the example above this
209 ; section.
210 ;
211 ; NAT
212 ;
213 ; At a basic level configure the endpoint with a transport that is set up
214 ; with the appropriate NAT settings. There may be some additional settings you
215 ; need here based on your NAT/Firewall scenario. Look to the CLI config help
216 ; "config show help res_pjsip endpoint" or on the wiki for other NAT related
217 ; options and configuration. We've included a few below.
218 ;
219 ; AOR
220 ;
221 ; Endpoints use one or more AOR sections to store their contact details.
222 ; You can define multiple contact addresses in SIP URI format in multiple
223 ; "contact=" entries.
224 ;
225
226 ;[mytrunk]
227 ;type=endpoint
228 ;transport=transport-udp
229 ;context=from-external
230 ;disallow=all
231 ;allow=ulaw
232 ;outbound_auth=mytrunk_auth
233 ;aors=mytrunk
234 ;                   ;A few NAT relevant options that may come in handy.
235 ;force_rport=yes    ;It's a good idea to read the configuration help for each
236 ;direct_media=no    ;of these options.
237 ;ice_support=yes
238
239 ;[mytrunk]
240 ;type=aor
241 ;contact=sip:198.51.100.1:5060
242 ;contact=sip:198.51.100.2:5060
243
244 ;[mytrunk]
245 ;type=identify
246 ;endpoint=mytrunk
247 ;match=198.51.100.1
248 ;match=198.51.100.2
249
250
251 ;=============ENDPOINT CONFIGURED AS A TRUNK, INBOUND AUTH AND REGISTRATION===
252 ;
253 ; Here we are allowing a remote device to register to Asterisk and requiring
254 ; that they authenticate for registration and calls.
255 ; You'll note that this configuration is essentially the same as configuring
256 ; an endpoint for use with a SIP phone.
257
258
259 ;[7000]
260 ;type=endpoint
261 ;context=from-external
262 ;disallow=all
263 ;allow=ulaw
264 ;transport=transport-udp
265 ;auth=7000
266 ;aors=7000
267
268 ;[7000]
269 ;type=auth
270 ;auth_type=userpass
271 ;password=7000
272 ;username=7000
273
274 ;[7000]
275 ;type=aor
276 ;max_contacts=1
277
278
279 ;===============ENDPOINT CONFIGURED FOR USE WITH A SIP PHONE==================
280 ;
281 ; This example includes the endpoint, auth and aor configurations. It
282 ; requires inbound authentication and allows registration, as well as references
283 ; a transport that you'll need to uncomment from the previous examples.
284 ;
285 ; Uncomment one of the transport lines to choose which transport you want. If
286 ; not specified then the default transport chosen is the first defined transport
287 ; in the configuration file.
288 ;
289 ; Modify the "max_contacts=" line to change how many unique registrations to allow.
290 ;
291 ; Use the "contact=" line instead of max_contacts= if you want to statically
292 ; define the location of the device.
293 ;
294 ; If using the TLS enabled transport, you may want the "media_encryption=sdes"
295 ; option to additionally enable SRTP, though they are not mutually inclusive.
296 ;
297 ; Use the "rtp_ipv6=yes" option if you want to utilize RTP over an ipv6 transport.
298 ;
299 ; If this endpoint were remote, and it was using a transport configured for NAT
300 ; then you likely want to use "direct_media=no" to prevent audio issues.
301
302
303 ;[6001]
304 ;type=endpoint
305 ;transport=transport-udp
306 ;context=from-internal
307 ;disallow=all
308 ;allow=ulaw
309 ;allow=gsm
310 ;auth=6001
311 ;aors=6001
312 ;
313 ; A few more transports to pick from, and some related options below them.
314 ;
315 ;transport=transport-tls
316 ;media_encryption=sdes
317 ;transport=transport-udp-ipv6
318 ;rtp_ipv6=yes
319 ;transport=transport-udp-nat
320 ;direct_media=no
321 ;
322 ; MWI related options
323
324 ;aggregate_mwi=yes
325 ;mailboxes=6001@default,7001@default
326 ;mwi_from_user=6001
327 ;
328 ; Extension and Device state options
329 ;
330 ;device_state_busy_at=1
331 ;allow_subscribe=yes
332 ;sub_min_expiry=30
333
334 ;[6001]
335 ;type=auth
336 ;auth_type=userpass
337 ;password=6001
338 ;username=6001
339
340 ;[6001]
341 ;type=aor
342 ;max_contacts=1
343 ;contact=sip:6001@192.0.2.1:5060
344
345 ;===============ENDPOINT BEHIND NAT OR FIREWALL===============================
346 ;
347 ; This example assumes your transport is configured with a public IP and the
348 ; endpoint itself is behind NAT and maybe a firewall, rather than having
349 ; Asterisk behind NAT. For the sake of simplicity, we'll assume a typical
350 ; VOIP phone. The most important settings to configure are:
351 ;
352 ;  * direct_media, to ensure Asterisk stays in the media path
353 ;  * rtp_symmetric and force_rport options to help the far-end NAT/firewall
354 ;
355 ; Depending on the settings of your remote SIP device or NAT/firewall device
356 ; you may have to experiment with a combination of these settings.
357 ;
358 ; If both Asterisk and the remote phones are a behind NAT/firewall then you'll
359 ; have to make sure to use a transport with appropriate settings (as in the
360 ; transport-udp-nat example).
361 ;
362 ;[6002]
363 ;type=endpoint
364 ;transport=transport-udp
365 ;context=from-internal
366 ;disallow=all
367 ;allow=ulaw
368 ;auth=6002
369 ;aors=6002
370 ;direct_media=no
371 ;rtp_symmetric=yes
372 ;force_rport=yes
373 ;rewrite_contact=yes  ; necessary if endpoint does not know/register public ip:port
374 ;ice_support=yes   ;This is specific to clients that support NAT traversal
375                    ;for media via ICE,STUN,TURN. See the wiki at:
376                    ;https://wiki.asterisk.org/wiki/x/D4FHAQ
377                    ;for a deeper explanation of this topic.
378
379 ;[6002]
380 ;type=auth
381 ;auth_type=userpass
382 ;password=6002
383 ;username=6002
384
385 ;[6002]
386 ;type=aor
387 ;max_contacts=2
388
389
390 ;============EXAMPLE ACL CONFIGURATION==========================================
391 ;
392 ; The ACL or Access Control List section defines a set of permissions to permit
393 ; or deny access to various address or addresses. Alternatively it references an
394 ; ACL configuration already set in acl.conf.
395 ;
396 ; The ACL configuration is independent of individual endpoint configuration and
397 ; operates on all inbound SIP communication using res_pjsip.
398
399 ; Reference an ACL defined in acl.conf.
400 ;
401 ;[acl]
402 ;type=acl
403 ;acl=example_named_acl1
404
405 ; Reference a contactacl specifically.
406 ;
407 ;[acl]
408 ;type=acl
409 ;contact_acl=example_contact_acl1
410
411 ; Define your own ACL here in pjsip.conf and
412 ; permit or deny by IP address or range.
413 ;
414 ;[acl]
415 ;type=acl
416 ;deny=0.0.0.0/0.0.0.0
417 ;permit=209.16.236.0/24
418 ;deny=209.16.236.1
419
420 ; Restrict based on Contact Headers rather than IP.
421 ; Define options multiple times for various addresses or use a comma-delimited string.
422 ;
423 ;[acl]
424 ;type=acl
425 ;contact_deny=0.0.0.0/0.0.0.0
426 ;contact_permit=209.16.236.0/24
427 ;contact_permit=209.16.236.1
428 ;contact_permit=209.16.236.2,209.16.236.3
429
430 ; Restrict based on Contact Headers rather than IP and use
431 ; advanced syntax. Note the bang symbol used for "NOT", so we can deny
432 ; 209.16.236.12/32 within the permit= statement.
433 ;
434 ;[acl]
435 ;type=acl
436 ;contact_deny=0.0.0.0/0.0.0.0
437 ;contact_permit=209.16.236.0
438 ;permit=209.16.236.0/24, !209.16.236.12/32
439
440
441 ;============EXAMPLE RLS CONFIGURATION==========================================
442 ;
443 ;Asterisk provides support for RFC 4662 Resource List Subscriptions. This allows
444 ;for an endpoint to, through a single subscription, subscribe to the states of
445 ;multiple resources. Resource lists are configured in pjsip.conf using the
446 ;resource_list configuration object. Below is an example of a resource list that
447 ;allows an endpoint to subscribe to the presence of alice, bob, and carol.
448
449 ;[my_list]
450 ;type=resource_list
451 ;list_item=alice
452 ;list_item=bob
453 ;list_item=carol
454 ;event=presence
455
456 ;The "event" option in the resource list corresponds to the SIP event-package
457 ;that the subscribed resources belong to. A resource list can only provide states
458 ;for resources that belong to the same event-package. This means that you cannot
459 ;create a list that is a combination of presence and message-summary resources,
460 ;for instance. Any event-package that Asterisk supports can be used in a resource
461 ;list (presence, dialog, and message-summary). Whenever support for a new event-
462 ;package is added to Asterisk, support for that event-package in resource lists
463 ;will automatically be supported.
464
465 ;The "list_item" options indicate the names of resources to subscribe to. The
466 ;way these are interpreted is event-package specific. For instance, with presence
467 ;list_items, hints in the dialplan are looked up. With message-summary list_items,
468 ;mailboxes are looked up using your installed voicemail provider (app_voicemail
469 ;by default). Note that in the above example, the list_item options were given
470 ;one per line. However, it is also permissible to provide multiple list_item
471 ;options on a single line (e.g. list_item = alice,bob,carol).
472
473 ;In addition to the options presented in the above configuration, there are two
474 ;more configuration options that can be set.
475 ; * full_state: dictates whether Asterisk should always send the states of
476 ;   all resources in the list at once. Defaults to "no". You should only set
477 ;   this to "yes" if you are interoperating with an endpoint that does not
478 ;   behave correctly when partial state notifications are sent to it.
479 ; * notification_batch_interval: By default, Asterisk will send a NOTIFY request
480 ;   immediately when a resource changes state. This option causes Asterisk to
481 ;   start batching resource state changes for the specified number of milliseconds
482 ;   after a resource changes states. This way, if multiple resources change state
483 ;   within a brief interval, Asterisk can send a single NOTIFY request with all
484 ;   of the state changes reflected in it.
485
486 ;There is a limitation to the size of resource lists in Asterisk. If a constructed
487 ;notification from Asterisk will exceed 64000 bytes, then the message is deemed
488 ;too large to send. If you find that you are seeing error messages about SIP
489 ;NOTIFY requests being too large to send, consider breaking your lists into
490 ;sub-lists.
491
492 ;============EXAMPLE PHONEPROV CONFIGURATION================================
493
494 ; Before configuring provisioning here, see the documentation for res_phoneprov
495 ; and configure phoneprov.conf appropriately.
496
497 ; For each user to be autoprovisioned, a [phoneprov] configuration section
498 ; must be created.  At a minimum, the 'type', 'PROFILE' and 'MAC' variables must
499 ; be set.  All other variables are optional.
500 ; Example:
501
502 ;[1000]
503 ;type=phoneprov               ; must be specified as 'phoneprov'
504 ;endpoint=1000                ; Required only if automatic setting of
505                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
506                               ; are needed.
507 ;PROFILE=digium               ; required
508 ;MAC=deadbeef4dad             ; required
509 ;SERVER=myserver.example.com  ; A standard variable
510 ;TIMEZONE=America/Denver      ; A standard variable
511 ;MYVAR=somevalue              ; A user confdigured variable
512
513 ; If the phoneprov sections have common variables, it is best to create a
514 ; phoneprov template.  The example below will produce the same configuration
515 ; as the one specified above except that MYVAR will be overridden for
516 ; the specific user.
517 ; Example:
518
519 ;[phoneprov_defaults](!)
520 ;type=phoneprov               ; must be specified as 'phoneprov'
521 ;PROFILE=digium               ; required
522 ;SERVER=myserver.example.com  ; A standard variable
523 ;TIMEZONE=America/Denver      ; A standard variable
524 ;MYVAR=somevalue              ; A user configured variable
525
526 ;[1000](phoneprov_defaults)
527 ;endpoint=1000                ; Required only if automatic setting of
528                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
529                               ; are needed.
530 ;MAC=deadbeef4dad             ; required
531 ;MYVAR=someOTHERvalue         ; A user confdigured variable
532
533 ; To have USERNAME and SECRET automatically set, the endpoint
534 ; specified here must in turn have an outbound_auth section defined.
535
536 ; Fuller example:
537
538 ;[1000]
539 ;type=endpoint
540 ;outbound_auth=1000-auth
541 ;callerid=My Name <8005551212>
542 ;transport=transport-udp-nat
543
544 ;[1000-auth]
545 ;type=auth
546 ;auth_type=userpass
547 ;username=myname
548 ;password=mysecret
549
550 ;[phoneprov_defaults](!)
551 ;type=phoneprov               ; must be specified as 'phoneprov'
552 ;PROFILE=someprofile          ; required
553 ;SERVER=myserver.example.com  ; A standard variable
554 ;TIMEZONE=America/Denver      ; A standard variable
555 ;MYVAR=somevalue              ; A user configured variable
556
557 ;[1000](phoneprov_defaults)
558 ;endpoint=1000                ; Required only if automatic setting of
559                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
560                               ; are needed.
561 ;MAC=deadbeef4dad             ; required
562 ;MYVAR=someUSERvalue          ; A user confdigured variable
563 ;LABEL=1000                   ; A standard variable
564
565 ; The previous sections would produce a template substitution map as follows:
566
567 ;MAC=deadbeef4dad               ;added by pp1000
568 ;USERNAME=myname                ;automatically added by 1000-auth username
569 ;SECRET=mysecret                ;automatically added by 1000-auth password
570 ;PROFILE=someprofile            ;added by defaults
571 ;SERVER=myserver.example.com    ;added by defaults
572 ;SERVER_PORT=5060               ;added by defaults
573 ;MYVAR=someUSERvalue            ;added by defaults but overdidden by user
574 ;CALLERID=8005551212            ;automatically added by 1000 callerid
575 ;DISPLAY_NAME=My Name           ;automatically added by 1000 callerid
576 ;TIMEZONE=America/Denver        ;added by defaults
577 ;TZOFFSET=252100                ;automatically calculated by res_phoneprov
578 ;DST_ENABLE=1                   ;automatically calculated by res_phoneprov
579 ;DST_START_MONTH=3              ;automatically calculated by res_phoneprov
580 ;DST_START_MDAY=9               ;automatically calculated by res_phoneprov
581 ;DST_START_HOUR=3               ;automatically calculated by res_phoneprov
582 ;DST_END_MONTH=11               ;automatically calculated by res_phoneprov
583 ;DST_END_MDAY=2                 ;automatically calculated by res_phoneprov
584 ;DST_END_HOUR=1                 ;automatically calculated by res_phoneprov
585 ;ENDPOINT_ID=1000               ;automatically added by this module
586 ;AUTH_ID=1000-auth              ;automatically added by this module
587 ;TRANSPORT_ID=transport-udp-nat ;automatically added by this module
588 ;LABEL=1000                     ;added by user
589
590 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip
591 ;==========================ENDPOINT SECTION OPTIONS=========================
592 ;[endpoint]
593 ;  SYNOPSIS: Endpoint
594 ;100rel=yes     ; Allow support for RFC3262 provisional ACK tags (default:
595                 ; "yes")
596 ;aggregate_mwi=yes      ;  (default: "yes")
597 ;allow= ; Media Codec s to allow (default: "")
598 ;aors=  ; AoR s to be used with the endpoint (default: "")
599 ;auth=  ; Authentication Object s associated with the endpoint (default: "")
600 ;callerid=      ; CallerID information for the endpoint (default: "")
601 ;callerid_privacy=allowed_not_screened      ; Default privacy level (default: "allowed_not_screened")
602 ;callerid_tag=  ; Internal id_tag for the endpoint (default: "")
603 ;context=default        ; Dialplan context for inbound sessions (default:
604                         ; "default")
605 ;direct_media_glare_mitigation=none     ; Mitigation of direct media re INVITE
606                                         ; glare (default: "none")
607 ;direct_media_method=invite     ; Direct Media method type (default: "invite")
608 ;connected_line_method=invite   ; Connected line method type (default:
609                                 ; "invite")
610 ;direct_media=yes       ; Determines whether media may flow directly between
611                         ; endpoints (default: "yes")
612 ;disable_direct_media_on_nat=no ; Disable direct media session refreshes when
613                                 ; NAT obstructs the media session (default:
614                                 ; "no")
615 ;disallow=      ; Media Codec s to disallow (default: "")
616 ;dtmf_mode=rfc4733      ; DTMF mode (default: "rfc4733")
617 ;media_address=         ; IP address used in SDP for media handling (default: "")
618 ;force_rport=yes        ; Force use of return port (default: "yes")
619 ;ice_support=no ; Enable the ICE mechanism to help traverse NAT (default: "no")
620 ;identify_by=username   ; Way s for Endpoint to be identified (default:
621                         ; "username")
622 ;redirect_method=user   ; How redirects received from an endpoint are handled
623                         ; (default: "user")
624 ;mailboxes=     ; Mailbox es to be associated with (default: "")
625 ;moh_suggest=default    ; Default Music On Hold class (default: "default")
626 ;moh_passthrough=yes    ; Pass Music On Hold through using SIP re-invites with sendonly
627                         ; when placing on hold and sendrecv when taking off hold
628 ;outbound_auth= ; Authentication object used for outbound requests (default:
629                 ; "")
630 ;outbound_proxy=        ; Proxy through which to send requests a full SIP URI
631                         ; must be provided (default: "")
632 ;rewrite_contact=no     ; Allow Contact header to be rewritten with the source
633                         ; IP address port (default: "no")
634 ;rtp_ipv6=no    ; Allow use of IPv6 for RTP traffic (default: "no")
635 ;rtp_symmetric=no       ; Enforce that RTP must be symmetric (default: "no")
636 ;send_diversion=yes     ; Send the Diversion header conveying the diversion
637                         ; information to the called user agent (default: "yes")
638 ;send_pai=no    ; Send the P Asserted Identity header (default: "no")
639 ;send_rpid=no   ; Send the Remote Party ID header (default: "no")
640 ;timers_min_se=90       ; Minimum session timers expiration period (default:
641                         ; "90")
642 ;timers=yes     ; Session timers for SIP packets (default: "yes")
643 ;timers_sess_expires=1800       ; Maximum session timer expiration period
644                                 ; (default: "1800")
645 ;transport=     ; Desired transport configuration (default: "")
646 ;trust_id_inbound=no    ; Accept identification information received from this
647                         ; endpoint (default: "no")
648 ;trust_id_outbound=no   ; Send private identification details to the endpoint
649                         ; (default: "no")
650 ;type=  ; Must be of type endpoint (default: "")
651 ;use_ptime=no   ; Use Endpoint s requested packetisation interval (default:
652                 ; "no")
653 ;use_avpf=no    ; Determines whether res_pjsip will use and enforce usage of
654                 ; AVPF for this endpoint (default: "no")
655 ;media_encryption=no    ; Determines whether res_pjsip will use and enforce
656                         ; usage of media encryption for this endpoint (default:
657                         ; "no")
658 ;media_encryption_optimistic=no ; Use encryption if possible but don't fail the call
659                                                                 ; if not possible.
660 ;inband_progress=no     ; Determines whether chan_pjsip will indicate ringing
661                         ; using inband progress (default: "no")
662 ;call_group=    ; The numeric pickup groups for a channel (default: "")
663 ;pickup_group=  ; The numeric pickup groups that a channel can pickup (default:
664                 ; "")
665 ;named_call_group=      ; The named pickup groups for a channel (default: "")
666 ;named_pickup_group=    ; The named pickup groups that a channel can pickup
667                         ; (default: "")
668 ;device_state_busy_at=0 ; The number of in use channels which will cause busy
669                         ; to be returned as device state (default: "0")
670 ;t38_udptl=no   ; Whether T 38 UDPTL support is enabled or not (default: "no")
671 ;t38_udptl_ec=none      ; T 38 UDPTL error correction method (default: "none")
672 ;t38_udptl_maxdatagram=0        ; T 38 UDPTL maximum datagram size (default:
673                                 ; "0")
674 ;fax_detect=no  ; Whether CNG tone detection is enabled (default: "no")
675 ;t38_udptl_nat=no       ; Whether NAT support is enabled on UDPTL sessions
676                         ; (default: "no")
677 ;t38_udptl_ipv6=no      ; Whether IPv6 is used for UDPTL Sessions (default:
678                         ; "no")
679 ;tone_zone=     ; Set which country s indications to use for channels created
680                 ; for this endpoint (default: "")
681 ;language=      ; Set the default language to use for channels created for this
682                 ; endpoint (default: "")
683 ;one_touch_recording=no ; Determines whether one touch recording is allowed for
684                         ; this endpoint (default: "no")
685 ;record_on_feature=automixmon   ; The feature to enact when one touch recording
686                                 ; is turned on (default: "automixmon")
687 ;record_off_feature=automixmon  ; The feature to enact when one touch recording
688                                 ; is turned off (default: "automixmon")
689 ;rtp_engine=asterisk    ; Name of the RTP engine to use for channels created
690                         ; for this endpoint (default: "asterisk")
691 ;allow_transfer=yes     ; Determines whether SIP REFER transfers are allowed
692                         ; for this endpoint (default: "yes")
693 ;sdp_owner=-    ; String placed as the username portion of an SDP origin o line
694                 ; (default: "-")
695 ;sdp_session=Asterisk   ; String used for the SDP session s line (default:
696                         ; "Asterisk")
697 ;tos_audio=0    ; DSCP TOS bits for audio streams (default: "0")
698 ;tos_video=0    ; DSCP TOS bits for video streams (default: "0")
699 ;cos_audio=0    ; Priority for audio streams (default: "0")
700 ;cos_video=0    ; Priority for video streams (default: "0")
701 ;allow_subscribe=yes    ; Determines if endpoint is allowed to initiate
702                         ; subscriptions with Asterisk (default: "yes")
703 ;sub_min_expiry=0       ; The minimum allowed expiry time for subscriptions
704                         ; initiated by the endpoint (default: "0")
705 ;from_user=     ; Username to use in From header for requests to this endpoint
706                 ; (default: "")
707 ;mwi_from_user= ; Username to use in From header for unsolicited MWI NOTIFYs to
708                 ; this endpoint (default: "")
709 ;from_domain=   ; Domain to user in From header for requests to this endpoint
710                 ; (default: "")
711 ;dtls_verify=no ; Verify that the provided peer certificate is valid (default:
712                 ; "no")
713 ;dtls_rekey=0   ; Interval at which to renegotiate the TLS session and rekey
714                 ; the SRTP session (default: "0")
715 ;dtls_cert_file=        ; Path to certificate file to present to peer (default:
716                         ; "")
717 ;dtls_private_key=      ; Path to private key for certificate file (default:
718                         ; "")
719 ;dtls_cipher=   ; Cipher to use for DTLS negotiation (default: "")
720 ;dtls_ca_file=  ; Path to certificate authority certificate (default: "")
721 ;dtls_ca_path=  ; Path to a directory containing certificate authority
722                 ; certificates (default: "")
723 ;dtls_setup=    ; Whether we are willing to accept connections connect to the
724                 ; other party or both (default: "")
725 ;dtls_fingerprint= ; Hash to use for the fingerprint placed into SDP
726                    ; (default: "SHA-256")
727 ;srtp_tag_32=no ; Determines whether 32 byte tags should be used instead of 80
728                 ; byte tags (default: "no")
729 ;set_var=       ; Variable set on a channel involving the endpoint. For multiple
730                 ; channel variables specify multiple 'set_var'(s)
731
732 ;==========================AUTH SECTION OPTIONS=========================
733 ;[auth]
734 ;  SYNOPSIS: Authentication type
735 ;auth_type=userpass     ; Authentication type (default: "userpass")
736 ;nonce_lifetime=32      ; Lifetime of a nonce associated with this
737                         ; authentication config (default: "32")
738 ;md5_cred=      ; MD5 Hash used for authentication (default: "")
739 ;password=      ; PlainText password used for authentication (default: "")
740 ;realm= ; SIP realm for endpoint (default: "")
741 ;type=  ; Must be auth (default: "")
742 ;username=      ; Username to use for account (default: "")
743
744
745 ;==========================DOMAIN_ALIAS SECTION OPTIONS=========================
746 ;[domain_alias]
747 ;  SYNOPSIS: Domain Alias
748 ;type=  ; Must be of type domain_alias (default: "")
749 ;domain=        ; Domain to be aliased (default: "")
750
751
752 ;==========================TRANSPORT SECTION OPTIONS=========================
753 ;[transport]
754 ;  SYNOPSIS: SIP Transport
755 ;async_operations=1     ; Number of simultaneous Asynchronous Operations
756                         ; (default: "1")
757 ;bind=  ; IP Address and optional port to bind to for this transport (default:
758         ; "")
759 ;ca_list_file=  ; File containing a list of certificates to read TLS ONLY
760                 ; (default: "")
761 ;cert_file=     ; Certificate file for endpoint TLS ONLY
762                 ; Will read .crt or .pem file but only uses cert,
763                 ; a .key file must be specified via priv_key_file
764                 ; (default: "")
765 ;cipher=        ; Preferred cryptography cipher names TLS ONLY (default: "")
766 ;domain=        ; Domain the transport comes from (default: "")
767 ;external_media_address=        ; External IP address to use in RTP handling
768                                 ; (default: "")
769 ;external_signaling_address=    ; External address for SIP signalling (default:
770                                 ; "")
771 ;external_signaling_port=0      ; External port for SIP signalling (default:
772                                 ; "0")
773 ;method=        ; Method of SSL transport TLS ONLY (default: "")
774 ;local_net=     ; Network to consider local used for NAT purposes (default: "")
775 ;password=      ; Password required for transport (default: "")
776 ;priv_key_file= ; Private key file TLS ONLY (default: "")
777 ;protocol=udp   ; Protocol to use for SIP traffic (default: "udp")
778 ;require_client_cert=   ; Require client certificate TLS ONLY (default: "")
779 ;type=  ; Must be of type transport (default: "")
780 ;verify_client= ; Require verification of client certificate TLS ONLY (default:
781                 ; "")
782 ;verify_server= ; Require verification of server certificate TLS ONLY (default:
783                 ; "")
784 ;tos=0  ; Enable TOS for the signalling sent over this transport (default: "0")
785 ;cos=0  ; Enable COS for the signalling sent over this transport (default: "0")
786 ;websocket_write_timeout=100    ; Default write timeout to set on websocket
787                                 ; transports. This value may need to be adjusted
788                                 ; for connections where Asterisk must write a
789                                 ; substantial amount of data and the receiving
790                                 ; clients are slow to process the received
791                                 ; information. Value is in milliseconds; default
792                                 ; is 100 ms.
793
794 ;==========================CONTACT SECTION OPTIONS=========================
795 ;[contact]
796 ;  SYNOPSIS: A way of creating an aliased name to a SIP URI
797 ;type=  ; Must be of type contact (default: "")
798 ;uri=   ; SIP URI to contact peer (default: "")
799 ;expiration_time=       ; Time to keep alive a contact (default: "")
800 ;qualify_frequency=0    ; Interval at which to qualify a contact (default: "0")
801 ;outbound_proxy=        ; Outbound proxy used when sending OPTIONS request
802                         ; (default: "")
803
804
805 ;==========================AOR SECTION OPTIONS=========================
806 ;[aor]
807 ;  SYNOPSIS: The configuration for a location of an endpoint
808 ;contact=       ; Permanent contacts assigned to AoR (default: "")
809 ;default_expiration=3600        ; Default expiration time in seconds for
810                                 ; contacts that are dynamically bound to an AoR
811                                 ; (default: "3600")
812 ;mailboxes=     ; Mailbox es to be associated with (default: "")
813 ;maximum_expiration=7200        ; Maximum time to keep an AoR (default: "7200")
814 ;max_contacts=0 ; Maximum number of contacts that can bind to an AoR (default:
815                 ; "0")
816 ;minimum_expiration=60  ; Minimum keep alive time for an AoR (default: "60")
817 ;remove_existing=no     ; Determines whether new contacts replace existing ones
818                         ; (default: "no")
819 ;type=  ; Must be of type aor (default: "")
820 ;qualify_frequency=0    ; Interval at which to qualify an AoR (default: "0")
821 ;authenticate_qualify=no        ; Authenticates a qualify request if needed
822                                 ; (default: "no")
823 ;outbound_proxy=        ; Outbound proxy used when sending OPTIONS request
824                         ; (default: "")
825
826
827 ;==========================SYSTEM SECTION OPTIONS=========================
828 ;[system]
829 ;  SYNOPSIS: Options that apply to the SIP stack as well as other system-wide settings
830 ;timer_t1=500   ; Set transaction timer T1 value milliseconds (default: "500")
831 ;timer_b=32000  ; Set transaction timer B value milliseconds (default: "32000")
832 ;compact_headers=no     ; Use the short forms of common SIP header names
833                         ; (default: "no")
834 ;threadpool_initial_size=0      ; Initial number of threads in the res_pjsip
835                                 ; threadpool (default: "0")
836 ;threadpool_auto_increment=5    ; The amount by which the number of threads is
837                                 ; incremented when necessary (default: "5")
838 ;threadpool_idle_timeout=60     ; Number of seconds before an idle thread
839                                 ; should be disposed of (default: "60")
840 ;threadpool_max_size=0  ; Maximum number of threads in the res_pjsip threadpool
841                         ; A value of 0 indicates no maximum (default: "0")
842 ;disable_tcp_switch=yes ; Disable automatic switching from UDP to TCP transports
843                         ; if outgoing request is too large.
844                         ; See RFC 3261 section 18.1.1.
845                                                 ; Disabling this option has been known to cause interoperability
846                                                 ; issues, so disable at your own risk.
847                         ; (default: "yes")
848 ;type=  ; Must be of type system (default: "")
849
850 ;==========================GLOBAL SECTION OPTIONS=========================
851 ;[global]
852 ;  SYNOPSIS: Options that apply globally to all SIP communications
853 ;max_forwards=70        ; Value used in Max Forwards header for SIP requests
854                         ; (default: "70")
855 ;type=  ; Must be of type global (default: "")
856 ;user_agent=Asterisk PBX SVN-branch-12-r404375  ; Value used in User Agent
857                                                 ; header for SIP requests and
858                                                 ; Server header for SIP
859                                                 ; responses (default: "Asterisk
860                                                 ; PBX SVN-branch-12-r404375")
861 ;default_outbound_endpoint=default_outbound_endpoint    ; Endpoint to use when
862                                                         ; sending an outbound
863                                                         ; request to a URI
864                                                         ; without a specified
865                                                         ; endpoint (default: "d
866                                                         ; efault_outbound_endpo
867                                                         ; int")
868 ;debug=no ; Enable/Disable SIP debug logging.  Valid options include yes|no
869           ; or a host address (default: "no")
870 ;keep_alive_interval=20 ; The interval (in seconds) at which to send keepalive
871                         ; messages on all active connection-oriented transports
872                         ; (default: "0")
873
874
875 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_acl
876 ;==========================ACL SECTION OPTIONS=========================
877 ;[acl]
878 ;  SYNOPSIS: Access Control List
879 ;acl=   ; List of IP ACL section names in acl conf (default: "")
880 ;contact_acl=   ; List of Contact ACL section names in acl conf (default: "")
881 ;contact_deny=  ; List of Contact header addresses to deny (default: "")
882 ;contact_permit=        ; List of Contact header addresses to permit (default:
883                         ; "")
884 ;deny=  ; List of IP addresses to deny access from (default: "")
885 ;permit=        ; List of IP addresses to permit access from (default: "")
886 ;type=  ; Must be of type acl (default: "")
887
888
889
890
891 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_outbound_registration
892 ;==========================REGISTRATION SECTION OPTIONS=========================
893 ;[registration]
894 ;  SYNOPSIS: The configuration for outbound registration
895 ;auth_rejection_permanent=yes   ; Determines whether failed authentication
896                                 ; challenges are treated as permanent failures
897                                 ; (default: "yes")
898 ;client_uri=    ; Client SIP URI used when attemping outbound registration
899                 ; (default: "")
900 ;contact_user=  ; Contact User to use in request (default: "")
901 ;expiration=3600        ; Expiration time for registrations in seconds
902                         ; (default: "3600")
903 ;max_retries=10 ; Maximum number of registration attempts (default: "10")
904 ;outbound_auth= ; Authentication object to be used for outbound registrations
905                 ; (default: "")
906 ;outbound_proxy=        ; Outbound Proxy used to send registrations (default:
907                         ; "")
908 ;retry_interval=60      ; Interval in seconds between retries if outbound
909                         ; registration is unsuccessful (default: "60")
910 ;forbidden_retry_interval=0     ; Interval used when receiving a 403 Forbidden
911                                 ; response (default: "0")
912 ;server_uri=    ; SIP URI of the server to register against (default: "")
913 ;transport=     ; Transport used for outbound authentication (default: "")
914 ;type=  ; Must be of type registration (default: "")
915
916
917
918
919 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_endpoint_identifier_ip
920 ;==========================IDENTIFY SECTION OPTIONS=========================
921 ;[identify]
922 ;  SYNOPSIS: Identifies endpoints via source IP address
923 ;endpoint=      ; Name of Endpoint (default: "")
924 ;match= ; IP addresses or networks to match against (default: "")
925 ;type=  ; Must be of type identify (default: "")
926
927
928
929
930 ;========================PHONEPROV_USER SECTION OPTIONS=======================
931 ;[phoneprov]
932 ;  SYNOPSIS: Contains variables for autoprovisioning each user
933 ;endpoint=      ; The endpoint from which to gather username, secret, etc. (default: "")
934 ;PROFILE=       ; The name of a profile configured in phoneprov.conf (default: "")
935 ;MAC=           ; The mac address for this user (default: "")
936 ;OTHERVAR=      ; Any other name value pair to be used in templates (default: "")
937                 ; Common variables include LINE, LINEKEYS, etc.
938                 ; See phoneprov.conf.sample for others.
939 ;type=          ; Must be of type phoneprov (default: "")