res_pjsip: add option to enable ContactStatus event when contact is updated
[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 ; ============================================================================
16 ; NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE NOTICE
17 ;
18 ; This file does not maintain the complete option documentation.
19 ; ============================================================================
20
21 ; Documentation
22 ;
23 ; The official documentation is at http://wiki.asterisk.org
24 ; You can read the XML configuration help via Asterisk command line with
25 ; "config show help res_pjsip", then you can drill down through the various
26 ; sections and their options.
27 ;
28
29 ;========!!!!!!!!!!!!!!!!!!!  SECURITY NOTICE  !!!!!!!!!!!!!!!!!!!!===========
30 ;
31 ; At a minimum please read the file "README-SERIOUSLY.bestpractices.txt",
32 ; located in the Asterisk source directory before starting Asterisk.
33 ; Otherwise you risk allowing the security of the Asterisk system to be
34 ; compromised. Beyond that please visit and read the security information on
35 ; the wiki at: https://wiki.asterisk.org/wiki/x/EwFB
36 ;
37 ; A few basics to pay attention to:
38 ;
39 ; Anonymous Calls
40 ;
41 ; By default anonymous inbound calls via PJSIP are not allowed. If you want to
42 ; route anonymous calls you'll need to define an endpoint named "anonymous".
43 ; res_pjsip_endpoint_identifier_anonymous.so handles that functionality so it
44 ; must be loaded. It is not recommended to accept anonymous calls.
45 ;
46 ; Access Control Lists
47 ;
48 ; See the example ACL configuration in this file. Read the configuration help
49 ; for the section and all of its options. Look over the samples in acl.conf
50 ; and documentation at https://wiki.asterisk.org/wiki/x/uA80AQ
51 ; If possible, restrict access to only networks and addresses you trust.
52 ;
53 ; Dialplan Contexts
54 ;
55 ; When defining configuration (such as an endpoint) that links into
56 ; dialplan configuration, be aware of what that dialplan does. It's easy to
57 ; accidentally provide access to internal or outbound dialing extensions which
58 ; could cost you severely. The "context=" line in endpoint configuration
59 ; determines which dialplan context inbound calls will enter into.
60 ;
61 ;=============================================================================
62
63 ; Overview of Configuration Section Types Used in the Examples
64 ;
65 ; * Transport "transport"
66 ;   * Configures res_pjsip transport layer interaction.
67 ; * Endpoint "endpoint"
68 ;   * Configures core SIP functionality related to SIP endpoints.
69 ; * Authentication "auth"
70 ;   * Stores inbound or outbound authentication credentials for use by trunks,
71 ;     endpoints, registrations.
72 ; * Address of Record "aor"
73 ;   * Stores contact information for use by endpoints.
74 ; * Endpoint Identification "identify"
75 ;   * Maps a host directly to an endpoint
76 ; * Access Control List "acl"
77 ;   * Defines a permission list or references one stored in acl.conf
78 ; * Registration "registration"
79 ;   * Contains information about an outbound SIP registration
80 ; * Resource Lists
81 ;   * Contains information for configuring resource lists.
82 ; * Phone Provisioning "phoneprov"
83 ;   * Contains information needed by res_phoneprov for autoprovisioning
84
85 ; The following sections show example configurations for various scenarios.
86 ; Most require a couple or more configuration types configured in concert.
87
88 ;=============================================================================
89
90 ; Naming of Configuration Sections
91 ;
92 ; Configuration section names are denoted with enclosing brackets,
93 ; e.g. [6001]
94 ; In most cases, you can name a section whatever makes sense to you. For example
95 ; you might name a transport [transport-udp-nat] to help you remember how that
96 ; section is being used. However, in some cases, ("endpoint" and "aor" types)
97 ; the section name has a relationship to its function.
98 ;
99 ; Depending on the modules loaded, Asterisk can match SIP requests to an
100 ; endpoint or aor in a few ways:
101 ;
102 ; 1) Match a section name for endpoint type sections to the username in the
103 ;    "From" header of inbound SIP requests.
104 ; 2) Match a section name for aor type sections to the username in the "To"
105 ;    header of inbound SIP REGISTER requests.
106 ; 3) With an identify type section configured, match an inbound SIP request of
107 ;    any type to an endpoint or aor based on the IP source address of the
108 ;    request.
109 ;
110 ; Note that sections can have the same name as long as their "type" options are
111 ; set to different values. In most cases it makes sense to have associated
112 ; configuration sections use the same name, as you'll see in the examples within
113 ; this file.
114
115 ;===============EXAMPLE TRANSPORTS============================================
116 ;
117 ; A few examples for potential transport options.
118 ;
119 ; For the NAT transport example, be aware that the options starting with
120 ; the prefix "external_" will only apply to communication with addresses
121 ; outside the range set with "local_net=".
122 ;
123 ; You can have more than one of any type of transport, as long as it doesn't
124 ; use the same resources (bind address, port, etc) as the others.
125
126 ; Basic UDP transport
127 ;
128 ;[transport-udp]
129 ;type=transport
130 ;protocol=udp    ;udp,tcp,tls,ws,wss,flow
131 ;bind=0.0.0.0
132
133 ; UDP transport behind NAT
134 ;
135 ;[transport-udp-nat]
136 ;type=transport
137 ;protocol=udp
138 ;bind=0.0.0.0
139 ;local_net=192.0.2.0/24
140 ;external_media_address=203.0.113.1
141 ;external_signaling_address=203.0.113.1
142
143 ; Basic IPv6 UDP transport
144 ;
145 ;[transport-udp-ipv6]
146 ;type=transport
147 ;protocol=udp
148 ;bind=::
149
150 ; Example IPv4 TLS transport
151 ;
152 ;[transport-tls]
153 ;type=transport
154 ;protocol=tls
155 ;bind=0.0.0.0
156 ;cert_file=/path/mycert.crt
157 ;priv_key_file=/path/mykey.key
158 ;cipher=ADH-AES256-SHA,ADH-AES128-SHA
159 ;method=tlsv1
160
161 ; Example flow transport
162 ;
163 ; A flow transport is used to reference a flow of signaling with a specific
164 ; target. All endpoints or other objects that reference the transport will use
165 ; the same underlying transport and can share runtime discovered transport
166 ; configuration (such as service routes). The protocol in use will be determined
167 ; based on the URI used to establish the connection. Currently only TCP and TLS
168 ; are supported.
169 ;
170 ;[transport-flow]
171 ;type=transport
172 ;protocol=flow
173
174 ;===============OUTBOUND REGISTRATION WITH OUTBOUND AUTHENTICATION============
175 ;
176 ; This is a simple registration that works with some SIP trunking providers.
177 ; You'll need to set up the auth example "mytrunk_auth" below to enable outbound
178 ; authentication. Note that we "outbound_auth=" use for outbound authentication
179 ; instead of "auth=", which is for inbound authentication.
180 ;
181 ; If you are registering to a server from behind NAT, be sure you assign a transport
182 ; that is appropriately configured with NAT related settings. See the NAT transport example.
183 ;
184 ; "contact_user=" sets the SIP contact header's user portion of the SIP URI
185 ; this will affect the extension reached in dialplan when the far end calls you at this
186 ; registration. The default is 's'.
187 ;
188 ; If you would like to enable line support and have incoming calls related to this
189 ; registration go to an endpoint automatically the "line" and "endpoint" options must
190 ; be set. The "endpoint" option specifies what endpoint the incoming call should be
191 ; associated with.
192
193 ;[mytrunk]
194 ;type=registration
195 ;transport=transport-udp
196 ;outbound_auth=mytrunk_auth
197 ;server_uri=sip:sip.example.com
198 ;client_uri=sip:1234567890@sip.example.com
199 ;contact_user=1234567890
200 ;retry_interval=60
201 ;forbidden_retry_interval=600
202 ;expiration=3600
203 ;line=yes
204 ;endpoint=mytrunk
205
206 ;[mytrunk_auth]
207 ;type=auth
208 ;auth_type=userpass
209 ;password=1234567890
210 ;username=1234567890
211 ;realm=sip.example.com
212
213 ;===============ENDPOINT CONFIGURED AS A TRUNK, OUTBOUND AUTHENTICATION=======
214 ;
215 ; This is one way to configure an endpoint as a trunk. It is set up with
216 ; "outbound_auth=" to enable authentication when dialing out through this
217 ; endpoint. There is no inbound authentication set up since a provider will
218 ; not normally authenticate when calling you.
219 ;
220 ; The identify configuration enables IP address matching against this endpoint.
221 ; For calls from a trunking provider, the From user may be different every time,
222 ; so we want to match against IP address instead of From user.
223 ;
224 ; If you want the provider of your trunk to know where to send your calls
225 ; you'll need to use an outbound registration as in the example above this
226 ; section.
227 ;
228 ; NAT
229 ;
230 ; At a basic level configure the endpoint with a transport that is set up
231 ; with the appropriate NAT settings. There may be some additional settings you
232 ; need here based on your NAT/Firewall scenario. Look to the CLI config help
233 ; "config show help res_pjsip endpoint" or on the wiki for other NAT related
234 ; options and configuration. We've included a few below.
235 ;
236 ; AOR
237 ;
238 ; Endpoints use one or more AOR sections to store their contact details.
239 ; You can define multiple contact addresses in SIP URI format in multiple
240 ; "contact=" entries.
241 ;
242
243 ;[mytrunk]
244 ;type=endpoint
245 ;transport=transport-udp
246 ;context=from-external
247 ;disallow=all
248 ;allow=ulaw
249 ;outbound_auth=mytrunk_auth
250 ;aors=mytrunk
251 ;                   ;A few NAT relevant options that may come in handy.
252 ;force_rport=yes    ;It's a good idea to read the configuration help for each
253 ;direct_media=no    ;of these options.
254 ;ice_support=yes
255
256 ;[mytrunk]
257 ;type=aor
258 ;contact=sip:198.51.100.1:5060
259 ;contact=sip:198.51.100.2:5060
260
261 ;[mytrunk]
262 ;type=identify
263 ;endpoint=mytrunk
264 ;match=198.51.100.1
265 ;match=198.51.100.2
266
267
268 ;=============ENDPOINT CONFIGURED AS A TRUNK, INBOUND AUTH AND REGISTRATION===
269 ;
270 ; Here we are allowing a remote device to register to Asterisk and requiring
271 ; that they authenticate for registration and calls.
272 ; You'll note that this configuration is essentially the same as configuring
273 ; an endpoint for use with a SIP phone.
274
275
276 ;[7000]
277 ;type=endpoint
278 ;context=from-external
279 ;disallow=all
280 ;allow=ulaw
281 ;transport=transport-udp
282 ;auth=7000
283 ;aors=7000
284
285 ;[7000]
286 ;type=auth
287 ;auth_type=userpass
288 ;password=7000
289 ;username=7000
290
291 ;[7000]
292 ;type=aor
293 ;max_contacts=1
294
295
296 ;===============ENDPOINT CONFIGURED FOR USE WITH A SIP PHONE==================
297 ;
298 ; This example includes the endpoint, auth and aor configurations. It
299 ; requires inbound authentication and allows registration, as well as references
300 ; a transport that you'll need to uncomment from the previous examples.
301 ;
302 ; Uncomment one of the transport lines to choose which transport you want. If
303 ; not specified then the default transport chosen is the first compatible transport
304 ; in the configuration file for the contact URL.
305 ;
306 ; Modify the "max_contacts=" line to change how many unique registrations to allow.
307 ;
308 ; Use the "contact=" line instead of max_contacts= if you want to statically
309 ; define the location of the device.
310 ;
311 ; If using the TLS enabled transport, you may want the "media_encryption=sdes"
312 ; option to additionally enable SRTP, though they are not mutually inclusive.
313 ;
314 ; If this endpoint were remote, and it was using a transport configured for NAT
315 ; then you likely want to use "direct_media=no" to prevent audio issues.
316
317
318 ;[6001]
319 ;type=endpoint
320 ;transport=transport-udp
321 ;context=from-internal
322 ;disallow=all
323 ;allow=ulaw
324 ;allow=gsm
325 ;auth=6001
326 ;aors=6001
327 ;
328 ; A few more transports to pick from, and some related options below them.
329 ;
330 ;transport=transport-tls
331 ;media_encryption=sdes
332 ;transport=transport-udp-ipv6
333 ;transport=transport-udp-nat
334 ;direct_media=no
335 ;
336 ; MWI related options
337
338 ;aggregate_mwi=yes
339 ;mailboxes=6001@default,7001@default
340 ;mwi_from_user=6001
341 ;
342 ; Extension and Device state options
343 ;
344 ;device_state_busy_at=1
345 ;allow_subscribe=yes
346 ;sub_min_expiry=30
347
348 ;[6001]
349 ;type=auth
350 ;auth_type=userpass
351 ;password=6001
352 ;username=6001
353
354 ;[6001]
355 ;type=aor
356 ;max_contacts=1
357 ;contact=sip:6001@192.0.2.1:5060
358
359 ;===============ENDPOINT BEHIND NAT OR FIREWALL===============================
360 ;
361 ; This example assumes your transport is configured with a public IP and the
362 ; endpoint itself is behind NAT and maybe a firewall, rather than having
363 ; Asterisk behind NAT. For the sake of simplicity, we'll assume a typical
364 ; VOIP phone. The most important settings to configure are:
365 ;
366 ;  * direct_media, to ensure Asterisk stays in the media path
367 ;  * rtp_symmetric and force_rport options to help the far-end NAT/firewall
368 ;
369 ; Depending on the settings of your remote SIP device or NAT/firewall device
370 ; you may have to experiment with a combination of these settings.
371 ;
372 ; If both Asterisk and the remote phones are a behind NAT/firewall then you'll
373 ; have to make sure to use a transport with appropriate settings (as in the
374 ; transport-udp-nat example).
375 ;
376 ;[6002]
377 ;type=endpoint
378 ;transport=transport-udp
379 ;context=from-internal
380 ;disallow=all
381 ;allow=ulaw
382 ;auth=6002
383 ;aors=6002
384 ;direct_media=no
385 ;rtp_symmetric=yes
386 ;force_rport=yes
387 ;rewrite_contact=yes  ; necessary if endpoint does not know/register public ip:port
388 ;ice_support=yes   ;This is specific to clients that support NAT traversal
389                    ;for media via ICE,STUN,TURN. See the wiki at:
390                    ;https://wiki.asterisk.org/wiki/x/D4FHAQ
391                    ;for a deeper explanation of this topic.
392
393 ;[6002]
394 ;type=auth
395 ;auth_type=userpass
396 ;password=6002
397 ;username=6002
398
399 ;[6002]
400 ;type=aor
401 ;max_contacts=2
402
403
404 ;============EXAMPLE ACL CONFIGURATION==========================================
405 ;
406 ; The ACL or Access Control List section defines a set of permissions to permit
407 ; or deny access to various address or addresses. Alternatively it references an
408 ; ACL configuration already set in acl.conf.
409 ;
410 ; The ACL configuration is independent of individual endpoint configuration and
411 ; operates on all inbound SIP communication using res_pjsip.
412
413 ; Reference an ACL defined in acl.conf.
414 ;
415 ;[acl]
416 ;type=acl
417 ;acl=example_named_acl1
418
419 ; Reference a contactacl specifically.
420 ;
421 ;[acl]
422 ;type=acl
423 ;contact_acl=example_contact_acl1
424
425 ; Define your own ACL here in pjsip.conf and
426 ; permit or deny by IP address or range.
427 ;
428 ;[acl]
429 ;type=acl
430 ;deny=0.0.0.0/0.0.0.0
431 ;permit=209.16.236.0/24
432 ;deny=209.16.236.1
433
434 ; Restrict based on Contact Headers rather than IP.
435 ; Define options multiple times for various addresses or use a comma-delimited string.
436 ;
437 ;[acl]
438 ;type=acl
439 ;contact_deny=0.0.0.0/0.0.0.0
440 ;contact_permit=209.16.236.0/24
441 ;contact_permit=209.16.236.1
442 ;contact_permit=209.16.236.2,209.16.236.3
443
444 ; Restrict based on Contact Headers rather than IP and use
445 ; advanced syntax. Note the bang symbol used for "NOT", so we can deny
446 ; 209.16.236.12/32 within the permit= statement.
447 ;
448 ;[acl]
449 ;type=acl
450 ;contact_deny=0.0.0.0/0.0.0.0
451 ;contact_permit=209.16.236.0
452 ;permit=209.16.236.0/24, !209.16.236.12/32
453
454
455 ;============EXAMPLE RLS CONFIGURATION==========================================
456 ;
457 ;Asterisk provides support for RFC 4662 Resource List Subscriptions. This allows
458 ;for an endpoint to, through a single subscription, subscribe to the states of
459 ;multiple resources. Resource lists are configured in pjsip.conf using the
460 ;resource_list configuration object. Below is an example of a resource list that
461 ;allows an endpoint to subscribe to the presence of alice, bob, and carol.
462
463 ;[my_list]
464 ;type=resource_list
465 ;list_item=alice
466 ;list_item=bob
467 ;list_item=carol
468 ;event=presence
469
470 ;The "event" option in the resource list corresponds to the SIP event-package
471 ;that the subscribed resources belong to. A resource list can only provide states
472 ;for resources that belong to the same event-package. This means that you cannot
473 ;create a list that is a combination of presence and message-summary resources,
474 ;for instance. Any event-package that Asterisk supports can be used in a resource
475 ;list (presence, dialog, and message-summary). Whenever support for a new event-
476 ;package is added to Asterisk, support for that event-package in resource lists
477 ;will automatically be supported.
478
479 ;The "list_item" options indicate the names of resources to subscribe to. The
480 ;way these are interpreted is event-package specific. For instance, with presence
481 ;list_items, hints in the dialplan are looked up. With message-summary list_items,
482 ;mailboxes are looked up using your installed voicemail provider (app_voicemail
483 ;by default). Note that in the above example, the list_item options were given
484 ;one per line. However, it is also permissible to provide multiple list_item
485 ;options on a single line (e.g. list_item = alice,bob,carol).
486
487 ;In addition to the options presented in the above configuration, there are two
488 ;more configuration options that can be set.
489 ; * full_state: dictates whether Asterisk should always send the states of
490 ;   all resources in the list at once. Defaults to "no". You should only set
491 ;   this to "yes" if you are interoperating with an endpoint that does not
492 ;   behave correctly when partial state notifications are sent to it.
493 ; * notification_batch_interval: By default, Asterisk will send a NOTIFY request
494 ;   immediately when a resource changes state. This option causes Asterisk to
495 ;   start batching resource state changes for the specified number of milliseconds
496 ;   after a resource changes states. This way, if multiple resources change state
497 ;   within a brief interval, Asterisk can send a single NOTIFY request with all
498 ;   of the state changes reflected in it.
499
500 ;There is a limitation to the size of resource lists in Asterisk. If a constructed
501 ;notification from Asterisk will exceed 64000 bytes, then the message is deemed
502 ;too large to send. If you find that you are seeing error messages about SIP
503 ;NOTIFY requests being too large to send, consider breaking your lists into
504 ;sub-lists.
505
506 ;============EXAMPLE PHONEPROV CONFIGURATION================================
507
508 ; Before configuring provisioning here, see the documentation for res_phoneprov
509 ; and configure phoneprov.conf appropriately.
510
511 ; For each user to be autoprovisioned, a [phoneprov] configuration section
512 ; must be created.  At a minimum, the 'type', 'PROFILE' and 'MAC' variables must
513 ; be set.  All other variables are optional.
514 ; Example:
515
516 ;[1000]
517 ;type=phoneprov               ; must be specified as 'phoneprov'
518 ;endpoint=1000                ; Required only if automatic setting of
519                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
520                               ; are needed.
521 ;PROFILE=digium               ; required
522 ;MAC=deadbeef4dad             ; required
523 ;SERVER=myserver.example.com  ; A standard variable
524 ;TIMEZONE=America/Denver      ; A standard variable
525 ;MYVAR=somevalue              ; A user confdigured variable
526
527 ; If the phoneprov sections have common variables, it is best to create a
528 ; phoneprov template.  The example below will produce the same configuration
529 ; as the one specified above except that MYVAR will be overridden for
530 ; the specific user.
531 ; Example:
532
533 ;[phoneprov_defaults](!)
534 ;type=phoneprov               ; must be specified as 'phoneprov'
535 ;PROFILE=digium               ; required
536 ;SERVER=myserver.example.com  ; A standard variable
537 ;TIMEZONE=America/Denver      ; A standard variable
538 ;MYVAR=somevalue              ; A user configured variable
539
540 ;[1000](phoneprov_defaults)
541 ;endpoint=1000                ; Required only if automatic setting of
542                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
543                               ; are needed.
544 ;MAC=deadbeef4dad             ; required
545 ;MYVAR=someOTHERvalue         ; A user confdigured variable
546
547 ; To have USERNAME and SECRET automatically set, the endpoint
548 ; specified here must in turn have an outbound_auth section defined.
549
550 ; Fuller example:
551
552 ;[1000]
553 ;type=endpoint
554 ;outbound_auth=1000-auth
555 ;callerid=My Name <8005551212>
556 ;transport=transport-udp-nat
557
558 ;[1000-auth]
559 ;type=auth
560 ;auth_type=userpass
561 ;username=myname
562 ;password=mysecret
563
564 ;[phoneprov_defaults](!)
565 ;type=phoneprov               ; must be specified as 'phoneprov'
566 ;PROFILE=someprofile          ; required
567 ;SERVER=myserver.example.com  ; A standard variable
568 ;TIMEZONE=America/Denver      ; A standard variable
569 ;MYVAR=somevalue              ; A user configured variable
570
571 ;[1000](phoneprov_defaults)
572 ;endpoint=1000                ; Required only if automatic setting of
573                               ; USERNAME, SECRET, DISPLAY_NAME and CALLERID
574                               ; are needed.
575 ;MAC=deadbeef4dad             ; required
576 ;MYVAR=someUSERvalue          ; A user confdigured variable
577 ;LABEL=1000                   ; A standard variable
578
579 ; The previous sections would produce a template substitution map as follows:
580
581 ;MAC=deadbeef4dad               ;added by pp1000
582 ;USERNAME=myname                ;automatically added by 1000-auth username
583 ;SECRET=mysecret                ;automatically added by 1000-auth password
584 ;PROFILE=someprofile            ;added by defaults
585 ;SERVER=myserver.example.com    ;added by defaults
586 ;SERVER_PORT=5060               ;added by defaults
587 ;MYVAR=someUSERvalue            ;added by defaults but overdidden by user
588 ;CALLERID=8005551212            ;automatically added by 1000 callerid
589 ;DISPLAY_NAME=My Name           ;automatically added by 1000 callerid
590 ;TIMEZONE=America/Denver        ;added by defaults
591 ;TZOFFSET=252100                ;automatically calculated by res_phoneprov
592 ;DST_ENABLE=1                   ;automatically calculated by res_phoneprov
593 ;DST_START_MONTH=3              ;automatically calculated by res_phoneprov
594 ;DST_START_MDAY=9               ;automatically calculated by res_phoneprov
595 ;DST_START_HOUR=3               ;automatically calculated by res_phoneprov
596 ;DST_END_MONTH=11               ;automatically calculated by res_phoneprov
597 ;DST_END_MDAY=2                 ;automatically calculated by res_phoneprov
598 ;DST_END_HOUR=1                 ;automatically calculated by res_phoneprov
599 ;ENDPOINT_ID=1000               ;automatically added by this module
600 ;AUTH_ID=1000-auth              ;automatically added by this module
601 ;TRANSPORT_ID=transport-udp-nat ;automatically added by this module
602 ;LABEL=1000                     ;added by user
603
604 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip
605 ;==========================ENDPOINT SECTION OPTIONS=========================
606 ;[endpoint]
607 ;  SYNOPSIS: Endpoint
608 ;100rel=yes     ; Allow support for RFC3262 provisional ACK tags (default:
609                 ; "yes")
610 ;aggregate_mwi=yes      ;  (default: "yes")
611 ;allow= ; Media Codec s to allow (default: "")
612 ;allow_overlap=yes ; Enable RFC3578 overlap dialing support. (default: "yes")
613 ;aors=  ; AoR s to be used with the endpoint (default: "")
614 ;auth=  ; Authentication Object s associated with the endpoint (default: "")
615 ;callerid=      ; CallerID information for the endpoint (default: "")
616 ;callerid_privacy=allowed_not_screened      ; Default privacy level (default: "allowed_not_screened")
617 ;callerid_tag=  ; Internal id_tag for the endpoint (default: "")
618 ;context=default        ; Dialplan context for inbound sessions (default:
619                         ; "default")
620 ;direct_media_glare_mitigation=none     ; Mitigation of direct media re INVITE
621                                         ; glare (default: "none")
622 ;direct_media_method=invite     ; Direct Media method type (default: "invite")
623 ;trust_connected_line=yes       ; Accept Connected Line updates from this endpoint
624                                 ; (default: "yes")
625 ;send_connected_line=yes        ; Send Connected Line updates to this endpoint
626                                 ; (default: "yes")
627 ;connected_line_method=invite   ; Connected line method type.
628                                 ; When set to "invite", check the remote's
629                                 ; Allow header and if UPDATE is allowed, send
630                                 ; UPDATE instead of INVITE to avoid SDP
631                                 ; renegotiation.  If UPDATE is not Allowed,
632                                 ; send INVITE.
633                                 ; If set to "update", send UPDATE regardless
634                                 ; of what the remote Allows.
635                                 ; (default: "invite")
636 ;direct_media=yes       ; Determines whether media may flow directly between
637                         ; endpoints (default: "yes")
638 ;disable_direct_media_on_nat=no ; Disable direct media session refreshes when
639                                 ; NAT obstructs the media session (default:
640                                 ; "no")
641 ;disallow=      ; Media Codec s to disallow (default: "")
642 ;dtmf_mode=rfc4733      ; DTMF mode (default: "rfc4733")
643 ;media_address=         ; IP address used in SDP for media handling (default: "")
644 ;bind_rtp_to_media_address=     ; Bind the RTP session to the media_address.
645                                 ; This causes all RTP packets to be sent from
646                                 ; the specified address. (default: "no")
647 ;force_rport=yes        ; Force use of return port (default: "yes")
648 ;ice_support=no ; Enable the ICE mechanism to help traverse NAT (default: "no")
649 ;identify_by=username   ; A comma-separated list of ways the Endpoint or AoR can be
650                         ; identified.
651                         ; "username": Identify by the From or To username and domain
652                         ; "auth_username": Identify by the Authorization username and realm
653                         ; "ip": Identify by the source IP address
654                         ; "header": Identify by a configured SIP header value.
655                         ; In the username and auth_username cases, if an exact match
656                         ; on both username and domain/realm fails, the match is
657                         ; retried with just the username.
658                         ; (default: "username,ip")
659 ;redirect_method=user   ; How redirects received from an endpoint are handled
660                         ; (default: "user")
661 ;mailboxes=     ; NOTIFY the endpoint when state changes for any of the specified mailboxes.
662                 ; Asterisk will send unsolicited MWI NOTIFY messages to the endpoint when state
663                 ; changes happen for any of the specified mailboxes. (default: "")
664 ;voicemail_extension= ; The voicemail extension to send in the NOTIFY Message-Account header
665                       ; (default: global/default_voicemail_extension)
666 ;mwi_subscribe_replaces_unsolicited=no
667                       ; An MWI subscribe will replace unsoliticed NOTIFYs
668                       ; (default: "no")
669 ;moh_suggest=default    ; Default Music On Hold class (default: "default")
670 ;moh_passthrough=yes    ; Pass Music On Hold through using SIP re-invites with sendonly
671                         ; when placing on hold and sendrecv when taking off hold
672 ;outbound_auth= ; Authentication object used for outbound requests (default:
673                 ; "")
674 ;outbound_proxy=        ; Proxy through which to send requests, a full SIP URI
675                         ; must be provided (default: "")
676 ;rewrite_contact=no     ; Allow Contact header to be rewritten with the source
677                         ; IP address port (default: "no")
678 ;rtp_symmetric=no       ; Enforce that RTP must be symmetric (default: "no")
679 ;send_diversion=yes     ; Send the Diversion header conveying the diversion
680                         ; information to the called user agent (default: "yes")
681 ;send_pai=no    ; Send the P Asserted Identity header (default: "no")
682 ;send_rpid=no   ; Send the Remote Party ID header (default: "no")
683 ;rpid_immediate=no      ; Send connected line updates on unanswered incoming calls immediately. (default: "no")
684 ;timers_min_se=90       ; Minimum session timers expiration period (default:
685                         ; "90")
686 ;timers=yes     ; Session timers for SIP packets (default: "yes")
687 ;timers_sess_expires=1800       ; Maximum session timer expiration period
688                                 ; (default: "1800")
689 ;transport=     ; Explicit transport configuration to use (default: "")
690                 ; This will force the endpoint to use the specified transport
691                 ; configuration to send SIP messages.  You need to already know
692                 ; what kind of transport (UDP/TCP/IPv4/etc) the endpoint device
693                 ; will use.
694
695 ;trust_id_inbound=no    ; Accept identification information received from this
696                         ; endpoint (default: "no")
697 ;trust_id_outbound=no   ; Send private identification details to the endpoint
698                         ; (default: "no")
699 ;type=  ; Must be of type endpoint (default: "")
700 ;use_ptime=no   ; Use Endpoint s requested packetisation interval (default:
701                 ; "no")
702 ;use_avpf=no    ; Determines whether res_pjsip will use and enforce usage of
703                 ; AVPF for this endpoint (default: "no")
704 ;media_encryption=no    ; Determines whether res_pjsip will use and enforce
705                         ; usage of media encryption for this endpoint (default:
706                         ; "no")
707 ;media_encryption_optimistic=no ; Use encryption if possible but don't fail the call
708                                 ; if not possible.
709 ;g726_non_standard=no   ; When set to "yes" and an endpoint negotiates g.726
710                         ; audio then g.726 for AAL2 packing order is used contrary
711                         ; to what is recommended in RFC3551. Note, 'g726aal2' also
712                         ; needs to be specified in the codec allow list
713                         ; (default: "no")
714 ;inband_progress=no     ; Determines whether chan_pjsip will indicate ringing
715                         ; using inband progress (default: "no")
716 ;call_group=    ; The numeric pickup groups for a channel (default: "")
717 ;pickup_group=  ; The numeric pickup groups that a channel can pickup (default:
718                 ; "")
719 ;named_call_group=      ; The named pickup groups for a channel (default: "")
720 ;named_pickup_group=    ; The named pickup groups that a channel can pickup
721                         ; (default: "")
722 ;device_state_busy_at=0 ; The number of in use channels which will cause busy
723                         ; to be returned as device state (default: "0")
724 ;t38_udptl=no   ; Whether T 38 UDPTL support is enabled or not (default: "no")
725 ;t38_udptl_ec=none      ; T 38 UDPTL error correction method (default: "none")
726 ;t38_udptl_maxdatagram=0        ; T 38 UDPTL maximum datagram size (default:
727                                 ; "0")
728 ;fax_detect=no  ; Whether CNG tone detection is enabled (default: "no")
729 ;fax_detect_timeout=30  ; How many seconds into a call before fax_detect is
730                         ; disabled for the call.
731                         ; Zero disables the timeout.
732                         ; (default: "0")
733 ;t38_udptl_nat=no       ; Whether NAT support is enabled on UDPTL sessions
734                         ; (default: "no")
735 ;tone_zone=     ; Set which country s indications to use for channels created
736                 ; for this endpoint (default: "")
737 ;language=      ; Set the default language to use for channels created for this
738                 ; endpoint (default: "")
739 ;one_touch_recording=no ; Determines whether one touch recording is allowed for
740                         ; this endpoint (default: "no")
741 ;record_on_feature=automixmon   ; The feature to enact when one touch recording
742                                 ; is turned on (default: "automixmon")
743 ;record_off_feature=automixmon  ; The feature to enact when one touch recording
744                                 ; is turned off (default: "automixmon")
745 ;rtp_engine=asterisk    ; Name of the RTP engine to use for channels created
746                         ; for this endpoint (default: "asterisk")
747 ;allow_transfer=yes     ; Determines whether SIP REFER transfers are allowed
748                         ; for this endpoint (default: "yes")
749 ;sdp_owner=-    ; String placed as the username portion of an SDP origin o line
750                 ; (default: "-")
751 ;sdp_session=Asterisk   ; String used for the SDP session s line (default:
752                         ; "Asterisk")
753 ;tos_audio=0    ; DSCP TOS bits for audio streams (default: "0")
754 ;tos_video=0    ; DSCP TOS bits for video streams (default: "0")
755 ;cos_audio=0    ; Priority for audio streams (default: "0")
756 ;cos_video=0    ; Priority for video streams (default: "0")
757 ;allow_subscribe=yes    ; Determines if endpoint is allowed to initiate
758                         ; subscriptions with Asterisk (default: "yes")
759 ;sub_min_expiry=0       ; The minimum allowed expiry time for subscriptions
760                         ; initiated by the endpoint (default: "0")
761 ;from_user=     ; Username to use in From header for requests to this endpoint
762                 ; (default: "")
763 ;mwi_from_user= ; Username to use in From header for unsolicited MWI NOTIFYs to
764                 ; this endpoint (default: "")
765 ;from_domain=   ; Domain to user in From header for requests to this endpoint
766                 ; (default: "")
767 ;dtls_verify=no ; Verify that the provided peer certificate is valid (default:
768                 ; "no")
769 ;dtls_rekey=0   ; Interval at which to renegotiate the TLS session and rekey
770                 ; the SRTP session (default: "0")
771 ;dtls_auto_generate_cert= ; Enable ephemeral DTLS certificate generation (default:
772                           ; "no")
773 ;dtls_cert_file=          ; Path to certificate file to present to peer (default:
774                           ; "")
775 ;dtls_private_key=        ; Path to private key for certificate file (default:
776                           ; "")
777 ;dtls_cipher=   ; Cipher to use for DTLS negotiation (default: "")
778 ;dtls_ca_file=  ; Path to certificate authority certificate (default: "")
779 ;dtls_ca_path=  ; Path to a directory containing certificate authority
780                 ; certificates (default: "")
781 ;dtls_setup=    ; Whether we are willing to accept connections connect to the
782                 ; other party or both (default: "")
783 ;dtls_fingerprint= ; Hash to use for the fingerprint placed into SDP
784                    ; (default: "SHA-256")
785 ;srtp_tag_32=no ; Determines whether 32 byte tags should be used instead of 80
786                 ; byte tags (default: "no")
787 ;set_var=       ; Variable set on a channel involving the endpoint. For multiple
788                 ; channel variables specify multiple 'set_var'(s)
789 ;rtp_keepalive= ; Interval, in seconds, between comfort noise RTP packets if
790                 ; RTP is not flowing. This setting is useful for ensuring that
791                 ; holes in NATs and firewalls are kept open throughout a call.
792 ;rtp_timeout=      ; Hang up channel if RTP is not received for the specified
793                    ; number of seconds when the channel is off hold (default:
794                    ; "0" or not enabled)
795 ;rtp_timeout_hold= ; Hang up channel if RTP is not received for the specified
796                    ; number of seconds when the channel is on hold (default:
797                    ; "0" or not enabled)
798 ;contact_user= ; On outgoing requests, force the user portion of the Contact
799                ; header to this value (default: "")
800 ;preferred_codec_only=yes       ; Respond to a SIP invite with the single most preferred codec
801                                 ; rather than advertising all joint codec capabilities. This
802                                 ; limits the other side's codec choice to exactly what we prefer.
803                                 ; default is no.
804 ;asymmetric_rtp_codec= ; Allow the sending and receiving codec to differ and
805                        ; not be automatically matched (default: "no")
806 ;refer_blind_progress= ; Whether to notifies all the progress details on blind
807                        ; transfer (default: "yes"). The value "no" is useful
808                        ; for some SIP phones (Mitel/Aastra, Snom) which expect
809                        ; a sip/frag "200 OK" after REFER has been accepted.
810 ;notify_early_inuse_ringing = ; Whether to notifies dialog-info 'early'
811                               ; on INUSE && RINGING state (default: "no").
812                               ; The value "yes" is useful for some SIP phones
813                               ; (Cisco SPA) to be able to indicate and pick up
814                               ; ringing devices.
815 ;max_audio_streams= ; The maximum number of allowed negotiated audio streams
816                     ; (default: 1)
817 ;max_video_streams= ; The maximum number of allowed negotiated video streams
818                     ; (default: 1)
819 ;webrtc= ; When set to "yes" this also enables the following values that are needed
820          ; for webrtc: rtcp_mux, use_avpf, ice_support, and use_received_transport.
821          ; The following configuration settings also get defaulted as follows:
822          ;     media_encryption=dtls
823          ;     dtls_verify=fingerprint
824          ;     dtls_setup=actpass
825          ; A dtls_cert_file and a dtls_ca_file still need to be specified.
826          ; Default for this option is "no"
827 ;incoming_mwi_mailbox = ; Mailbox name to use when incoming MWI NOTIFYs are
828                         ; received.
829                         ; If an MWI NOTIFY is received FROM this endpoint,
830                         ; this mailbox will be used when notifying other modules
831                         ; of MWI status changes.  If not set, incoming MWI
832                         ; NOTIFYs are ignored.
833 ;follow_early_media_fork = ; On outgoing calls, if the UAS responds with
834                            ; different SDP attributes on subsequent 18X or 2XX
835                            ; responses (such as a port update) AND the To tag
836                            ; on the subsequent response is different than that
837                            ; on the previous one, follow it.  This usually
838                            ; happens when the INVITE is forked to multiple UASs
839                            ; and more than 1 sends an SDP answer.
840                            ; This option must also be enabled in the system
841                            ; section.
842                            ; (default: yes)
843 ;accept_multiple_sdp_answers =
844                            ; On outgoing calls, if the UAS responds with
845                            ; different SDP attributes on non-100rel 18X or 2XX
846                            ; responses (such as a port update) AND the To tag on
847                            ; the subsequent response is the same as that on the
848                            ; previous one, process it. This can happen when the
849                            ; UAS needs to change ports for some reason such as
850                            ; using a separate port for custom ringback.
851                            ; This option must also be enabled in the system
852                            ; section.
853                            ; (default: no)
854 ;suppress_q850_reason_headers =
855                            ; Suppress Q.850 Reason headers for this endpoint.
856                            ; Some devices can't accept multiple Reason headers
857                            ; and get confused when both 'SIP' and 'Q.850' Reason
858                            ; headers are received.  This option allows the
859                            ; 'Q.850' Reason header to be suppressed.
860                            ; (default: no)
861
862 ;==========================AUTH SECTION OPTIONS=========================
863 ;[auth]
864 ;  SYNOPSIS: Authentication type
865 ;
866 ;  Note: Using the same auth section for inbound and outbound
867 ;  authentication is not recommended.  There is a difference in
868 ;  meaning for an empty realm setting between inbound and outbound
869 ;  authentication uses.  Look to the CLI config help
870 ;  "config show help res_pjsip auth realm" or on the wiki for the
871 ;  difference.
872 ;
873 ;auth_type=userpass     ; Authentication type (default: "userpass")
874 ;nonce_lifetime=32      ; Lifetime of a nonce associated with this
875                         ; authentication config (default: "32")
876 ;md5_cred=      ; MD5 Hash used for authentication (default: "")
877 ;password=      ; PlainText password used for authentication (default: "")
878 ;realm= ; SIP realm for endpoint (default: "")
879 ;type=  ; Must be auth (default: "")
880 ;username=      ; Username to use for account (default: "")
881
882
883 ;==========================DOMAIN_ALIAS SECTION OPTIONS=========================
884 ;[domain_alias]
885 ;  SYNOPSIS: Domain Alias
886 ;type=  ; Must be of type domain_alias (default: "")
887 ;domain=        ; Domain to be aliased (default: "")
888
889
890 ;==========================TRANSPORT SECTION OPTIONS=========================
891 ;[transport]
892 ;  SYNOPSIS: SIP Transport
893 ;
894 ;async_operations=1     ; Number of simultaneous Asynchronous Operations
895                         ; (default: "1")
896 ;bind=  ; IP Address and optional port to bind to for this transport (default:
897         ; "")
898 ; Note that for the Websocket transport the TLS configuration is configured
899 ; in http.conf and is applied for all HTTPS traffic.
900 ;ca_list_file=  ; File containing a list of certificates to read TLS ONLY
901                 ; (default: "")
902 ;ca_list_path=  ; Path to directory containing certificates to read TLS ONLY.
903                 ; PJProject version 2.4 or higher is required for this option to
904                 ; be used.
905                 ; (default: "")
906 ;cert_file=     ; Certificate file for endpoint TLS ONLY
907                 ; Will read .crt or .pem file but only uses cert,
908                 ; a .key file must be specified via priv_key_file.
909                 ; Since PJProject version 2.5: If the file name ends in _rsa,
910                 ; for example "asterisk_rsa.pem", the files "asterisk_dsa.pem"
911                 ; and/or "asterisk_ecc.pem" are loaded (certificate, inter-
912                 ; mediates, private key), to support multiple algorithms for
913                 ; server authentication (RSA, DSA, ECDSA). If the chains are
914                 ; different, at least OpenSSL 1.0.2 is required.
915                 ; (default: "")
916 ;cipher=        ; Preferred cryptography cipher names TLS ONLY (default: "")
917 ;method=        ; Method of SSL transport TLS ONLY (default: "")
918 ;priv_key_file= ; Private key file TLS ONLY (default: "")
919 ;verify_client= ; Require verification of client certificate TLS ONLY (default:
920                 ; "")
921 ;verify_server= ; Require verification of server certificate TLS ONLY (default:
922                 ; "")
923 ;require_client_cert=   ; Require client certificate TLS ONLY (default: "")
924 ;domain=        ; Domain the transport comes from (default: "")
925 ;external_media_address=        ; External IP address to use in RTP handling
926                                 ; (default: "")
927 ;external_signaling_address=    ; External address for SIP signalling (default:
928                                 ; "")
929 ;external_signaling_port=0      ; External port for SIP signalling (default:
930                                 ; "0")
931 ;local_net=     ; Network to consider local used for NAT purposes (default: "")
932 ;password=      ; Password required for transport (default: "")
933 ;protocol=udp   ; Protocol to use for SIP traffic (default: "udp")
934 ;type=  ; Must be of type transport (default: "")
935 ;tos=0  ; Enable TOS for the signalling sent over this transport (default: "0")
936 ;cos=0  ; Enable COS for the signalling sent over this transport (default: "0")
937 ;websocket_write_timeout=100    ; Default write timeout to set on websocket
938                                 ; transports. This value may need to be adjusted
939                                 ; for connections where Asterisk must write a
940                                 ; substantial amount of data and the receiving
941                                 ; clients are slow to process the received
942                                 ; information. Value is in milliseconds; default
943                                 ; is 100 ms.
944 ;allow_reload=no    ; Although transports can now be reloaded, that may not be
945                     ; desirable because of the slight possibility of dropped
946                     ; calls. To make sure there are no unintentional drops, if
947                     ; this option is set to 'no' (the default) changes to the
948                     ; particular transport will be ignored. If set to 'yes',
949                     ; changes (if any) will be applied.
950 ;symmetric_transport=no ; When a request from a dynamic contact comes in on a
951                         ; transport with this option set to 'yes', the transport
952                         ; name will be saved and used for subsequent outgoing
953                         ; requests like OPTIONS, NOTIFY and INVITE.  It's saved
954                         ; as a contact uri parameter named 'x-ast-txp' and will
955                         ; display with the contact uri in CLI, AMI, and ARI
956                         ; output.  On the outgoing request, if a transport
957                         ; wasn't explicitly set on the endpoint AND the request
958                         ; URI is not a hostname, the saved transport will be
959                         ; used and the 'x-ast-txp' parameter stripped from the
960                         ; outgoing packet.
961
962 ;==========================AOR SECTION OPTIONS=========================
963 ;[aor]
964 ;  SYNOPSIS: The configuration for a location of an endpoint
965 ;contact=       ; Permanent contacts assigned to AoR (default: "")
966 ;default_expiration=3600        ; Default expiration time in seconds for
967                                 ; contacts that are dynamically bound to an AoR
968                                 ; (default: "3600")
969 ;mailboxes=           ; Allow subscriptions for the specified mailbox(es)
970                       ; This option applies when an external entity subscribes to an AoR
971                       ; for Message Waiting Indications. (default: "")
972 ;voicemail_extension= ; The voicemail extension to send in the NOTIFY Message-Account header
973                       ; (default: global/default_voicemail_extension)
974 ;maximum_expiration=7200        ; Maximum time to keep an AoR (default: "7200")
975 ;max_contacts=0 ; Maximum number of contacts that can bind to an AoR (default:
976                 ; "0")
977 ;minimum_expiration=60  ; Minimum keep alive time for an AoR (default: "60")
978 ;remove_existing=no     ; Allow a registration to succeed by displacing any existing
979                         ; contacts that now exceed the max_contacts count.  Any
980                         ; removed contacts are the next to expire.  The behaviour is
981                         ; beneficial when rewrite_contact is enabled and max_contacts
982                         ; is greater than one.  The removed contact is likely the old
983                         ; contact created by rewrite_contact that the device is
984                         ; refreshing.
985                         ; (default: "no")
986 ;type=  ; Must be of type aor (default: "")
987 ;qualify_frequency=0    ; Interval at which to qualify an AoR (default: "0")
988 ;qualify_timeout=3.0      ; Qualify timeout in fractional seconds (default: "3.0")
989 ;authenticate_qualify=no        ; Authenticates a qualify request if needed
990                                 ; (default: "no")
991 ;outbound_proxy=        ; Proxy through which to send OPTIONS requests, a full SIP URI
992                         ; must be provided (default: "")
993
994
995 ;==========================SYSTEM SECTION OPTIONS=========================
996 ;[system]
997 ;  SYNOPSIS: Options that apply to the SIP stack as well as other system-wide settings
998 ;timer_t1=500   ; Set transaction timer T1 value milliseconds (default: "500")
999 ;timer_b=32000  ; Set transaction timer B value milliseconds (default: "32000")
1000 ;compact_headers=no     ; Use the short forms of common SIP header names
1001                         ; (default: "no")
1002 ;threadpool_initial_size=0      ; Initial number of threads in the res_pjsip
1003                                 ; threadpool (default: "0")
1004 ;threadpool_auto_increment=5    ; The amount by which the number of threads is
1005                                 ; incremented when necessary (default: "5")
1006 ;threadpool_idle_timeout=60     ; Number of seconds before an idle thread
1007                                 ; should be disposed of (default: "60")
1008 ;threadpool_max_size=0  ; Maximum number of threads in the res_pjsip threadpool
1009                         ; A value of 0 indicates no maximum (default: "0")
1010 ;disable_tcp_switch=yes ; Disable automatic switching from UDP to TCP transports
1011                         ; if outgoing request is too large.
1012                         ; See RFC 3261 section 18.1.1.
1013                         ; Disabling this option has been known to cause interoperability
1014                         ; issues, so disable at your own risk.
1015                         ; (default: "yes")
1016 ;follow_early_media_fork = ; On outgoing calls, if the UAS responds with
1017                            ; different SDP attributes on subsequent 18X or 2XX
1018                            ; responses (such as a port update) AND the To tag
1019                            ; on the subsequent response is different than that
1020                            ; on the previous one, follow it.  This usually
1021                            ; happens when the INVITE is forked to multiple UASs
1022                            ; and more than 1 sends an SDP answer.
1023                            ; This option must also be enabled on endpoints that
1024                            ; require this functionality.
1025                            ; (default: yes)
1026 ;accept_multiple_sdp_answers =
1027                            ; On outgoing calls, if the UAS responds with
1028                            ; different SDP attributes on non-100rel 18X or 2XX
1029                            ; responses (such as a port update) AND the To tag on
1030                            ; the subsequent response is the same as that on the
1031                            ; previous one, process it. This can happen when the
1032                            ; UAS needs to change ports for some reason such as
1033                            ; using a separate port for custom ringback.
1034                            ; This option must also be enabled on endpoints that
1035                            ; require this functionality.
1036                            ; (default: no)
1037 ;type=  ; Must be of type system (default: "")
1038
1039 ;==========================GLOBAL SECTION OPTIONS=========================
1040 ;[global]
1041 ;  SYNOPSIS: Options that apply globally to all SIP communications
1042 ;max_forwards=70        ; Value used in Max Forwards header for SIP requests
1043                         ; (default: "70")
1044 ;type=  ; Must be of type global (default: "")
1045 ;user_agent=Asterisk PBX        ; Allows you to change the user agent string
1046                                 ; The default user agent string also contains
1047                                 ; the Asterisk version. If you don't want to
1048                                 ; expose this, change the user_agent string.
1049 ;default_outbound_endpoint=default_outbound_endpoint    ; Endpoint to use when
1050                                                         ; sending an outbound
1051                                                         ; request to a URI
1052                                                         ; without a specified
1053                                                         ; endpoint (default: "d
1054                                                         ; efault_outbound_endpo
1055                                                         ; int")
1056 ;debug=no ; Enable/Disable SIP debug logging.  Valid options include yes|no
1057           ; or a host address (default: "no")
1058 ;keep_alive_interval=20 ; The interval (in seconds) at which to send keepalive
1059                         ; messages on all active connection-oriented transports
1060                         ; (default: "0")
1061 ;contact_expiration_check_interval=30
1062                         ; The interval (in seconds) to check for expired contacts.
1063 ;disable_multi_domain=no
1064             ; Disable Multi Domain support.
1065             ; If disabled it can improve realtime performace by reducing
1066             ; number of database requsts
1067             ; (default: "no")
1068 ;endpoint_identifier_order=ip,username,anonymous
1069             ; The order by which endpoint identifiers are given priority.
1070             ; Currently, "ip", "header", "username", "auth_username" and "anonymous"
1071             ; are valid identifiers as registered by the res_pjsip_endpoint_identifier_*
1072             ; modules.  Some modules like res_pjsip_endpoint_identifier_user register
1073             ; more than one identifier.  Use the CLI command "pjsip show identifiers"
1074             ; to see the identifiers currently available.
1075             ; (default: ip,username,anonymous)
1076 ;max_initial_qualify_time=4 ; The maximum amount of time (in seconds) from
1077                             ; startup that qualifies should be attempted on all
1078                             ; contacts.  If greater than the qualify_frequency
1079                             ; for an aor, qualify_frequency will be used instead.
1080 ;regcontext=sipregistrations  ; If regcontext is specified, Asterisk will dynamically
1081                               ; create and destroy a NoOp priority 1 extension for a
1082                               ; given endpoint who registers or unregisters with us.
1083                               ; The extension added is the name of the endpoint.
1084 ;default_voicemail_extension=asterisk
1085                    ; The voicemail extension to send in the NOTIFY Message-Account header
1086                    ; if not set on endpoint or aor.
1087                    ; (default: "")
1088 ;
1089 ; The following unidentified_request options are only used when "auth_username"
1090 ; matching is enabled in "endpoint_identifier_order".
1091 ;
1092 ;unidentified_request_count=5   ; The number of unidentified requests that can be
1093                                 ; received from a single IP address in
1094                                 ; unidentified_request_period seconds before a security
1095                                 ; event is generated. (default: 5)
1096 ;unidentified_request_period=5  ; See above.  (default: 5 seconds)
1097 ;unidentified_request_prune_interval=30
1098                                 ; The interval at which unidentified requests
1099                                 ; are check to see if they can be pruned.  If they're
1100                                 ; older than twice the unidentified_request_period,
1101                                 ; they're pruned.
1102 ;
1103 ;default_from_user=asterisk     ; When Asterisk generates an outgoing SIP request, the
1104                                 ; From header username will be set to this value if
1105                                 ; there is no better option (such as CallerID or
1106                                 ; endpoint/from_user) to be used
1107 ;default_realm=asterisk         ; When Asterisk generates a challenge, the digest realm
1108                                 ; will be set to this value if there is no better option
1109                                 ; (such as auth/realm) to be used.
1110
1111                     ; Asterisk Task Processor Queue Size
1112                     ; On heavy loaded system with DB storage you may need to increase
1113                     ; taskprocessor queue.
1114                     ; If the taskprocessor queue size reached high water level,
1115                     ; the alert is triggered.
1116                     ; If the alert is set the pjsip distibutor stops processing incoming
1117                     ; requests until the alert is cleared.
1118                     ; The alert is cleared when taskprocessor queue size drops to the
1119                     ; low water clear level.
1120                     ; The next options set taskprocessor queue levels for MWI.
1121 ;mwi_tps_queue_high=500 ; Taskprocessor high water alert trigger level.
1122 ;mwi_tps_queue_low=450  ; Taskprocessor low water clear alert level.
1123                     ; The default is -1 for 90% of high water level.
1124
1125                     ; Unsolicited MWI
1126                     ; If there are endpoints configured with unsolicited MWI
1127                     ; then res_pjsip_mwi module tries to send MWI to all endpoints on startup.
1128 ;mwi_disable_initial_unsolicited=no ; Disable sending unsolicited mwi to all endpoints on startup.
1129                     ; If disabled then unsolicited mwi will start processing
1130                     ; on the endpoint's next contact update.
1131
1132 ;ignore_uri_user_options=no ; Enable/Disable ignoring SIP URI user field options.
1133                     ; If you have this option enabled and there are semicolons
1134                     ; in the user field of a SIP URI then the field is truncated
1135                     ; at the first semicolon.  This effectively makes the semicolon
1136                     ; a non-usable character for PJSIP endpoint names, extensions,
1137                     ; and AORs.  This can be useful for improving compatability with
1138                     ; an ITSP that likes to use user options for whatever reason.
1139                     ; Example:
1140                     ; URI: "sip:1235557890;phone-context=national@x.x.x.x;user=phone"
1141                     ; The user field is "1235557890;phone-context=national"
1142                     ; Which becomes this: "1235557890"
1143                     ;
1144                     ; Note: The caller-id and redirecting number strings obtained
1145                     ; from incoming SIP URI user fields are always truncated at the
1146                     ; first semicolon.
1147
1148 ;send_contact_status_on_update_registration=no ; Enable sending AMI ContactStatus
1149                     ; event when a device refreshes its registration
1150                     ; (default: "no")
1151
1152
1153 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_acl
1154 ;==========================ACL SECTION OPTIONS=========================
1155 ;[acl]
1156 ;  SYNOPSIS: Access Control List
1157 ;acl=   ; List of IP ACL section names in acl conf (default: "")
1158 ;contact_acl=   ; List of Contact ACL section names in acl conf (default: "")
1159 ;contact_deny=  ; List of Contact header addresses to deny (default: "")
1160 ;contact_permit=        ; List of Contact header addresses to permit (default:
1161                         ; "")
1162 ;deny=  ; List of IP addresses to deny access from (default: "")
1163 ;permit=        ; List of IP addresses to permit access from (default: "")
1164 ;type=  ; Must be of type acl (default: "")
1165
1166
1167
1168
1169 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_outbound_registration
1170 ;==========================REGISTRATION SECTION OPTIONS=========================
1171 ;[registration]
1172 ;  SYNOPSIS: The configuration for outbound registration
1173 ;auth_rejection_permanent=yes   ; Determines whether failed authentication
1174                                 ; challenges are treated as permanent failures
1175                                 ; (default: "yes")
1176 ;client_uri=    ; Client SIP URI used when attemping outbound registration
1177                 ; (default: "")
1178 ;contact_user=  ; Contact User to use in request (default: "")
1179 ;expiration=3600        ; Expiration time for registrations in seconds
1180                         ; (default: "3600")
1181 ;max_retries=10 ; Maximum number of registration attempts (default: "10")
1182 ;outbound_auth= ; Authentication object to be used for outbound registrations
1183                 ; (default: "")
1184 ;outbound_proxy=        ; Proxy through which to send registrations, a full SIP URI
1185                         ; must be provided (default: "")
1186 ;retry_interval=60      ; Interval in seconds between retries if outbound
1187                         ; registration is unsuccessful (default: "60")
1188 ;forbidden_retry_interval=0     ; Interval used when receiving a 403 Forbidden
1189                                 ; response (default: "0")
1190 ;fatal_retry_interval=0 ; Interval used when receiving a fatal response.
1191                         ; (default: "0") A fatal response is any permanent
1192                         ; failure (non-temporary 4xx, 5xx, 6xx) response
1193                         ; received from the registrar. NOTE - if also set
1194                         ; the 'forbidden_retry_interval' takes precedence
1195                         ; over this one when a 403 is received. Also, if
1196                         ; 'auth_rejection_permanent' equals 'yes' a 401 and
1197                         ; 407 become subject to this retry interval.
1198 ;server_uri=    ; SIP URI of the server to register against (default: "")
1199 ;transport=     ; Transport used for outbound authentication (default: "")
1200 ;line=          ; When enabled this option will cause a 'line' parameter to be
1201                 ; added to the Contact header placed into the outgoing
1202                 ; registration request. If the remote server sends a call
1203                 ; this line parameter will be used to establish a relationship
1204                 ; to the outbound registration, ultimately causing the
1205                 ; configured endpoint to be used (default: "no")
1206 ;endpoint=      ; When line support is enabled this configured endpoint name
1207                 ; is used for incoming calls that are related to the outbound
1208                 ; registration (default: "")
1209 ;type=  ; Must be of type registration (default: "")
1210
1211
1212
1213
1214 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_endpoint_identifier_ip
1215 ;==========================IDENTIFY SECTION OPTIONS=========================
1216 ;[identify]
1217 ;  SYNOPSIS: Identifies endpoints via some criteria.
1218 ;
1219 ; NOTE: If multiple matching criteria are provided then an inbound request will
1220 ; be matched to the endpoint if it matches ANY of the criteria.
1221 ;endpoint=      ; Name of endpoint identified (default: "")
1222 ;srv_lookups=yes        ; Perform SRV lookups for provided hostnames. (default: yes)
1223 ;match= ; Comma separated list of IP addresses, networks, or hostnames to match
1224         ; against (default: "")
1225 ;match_header= ; SIP header with specified value to match against (default: "")
1226 ;type=  ; Must be of type identify (default: "")
1227
1228
1229
1230
1231 ;========================PHONEPROV_USER SECTION OPTIONS=======================
1232 ;[phoneprov]
1233 ;  SYNOPSIS: Contains variables for autoprovisioning each user
1234 ;endpoint=      ; The endpoint from which to gather username, secret, etc. (default: "")
1235 ;PROFILE=       ; The name of a profile configured in phoneprov.conf (default: "")
1236 ;MAC=           ; The mac address for this user (default: "")
1237 ;OTHERVAR=      ; Any other name value pair to be used in templates (default: "")
1238                 ; Common variables include LINE, LINEKEYS, etc.
1239                 ; See phoneprov.conf.sample for others.
1240 ;type=          ; Must be of type phoneprov (default: "")
1241
1242
1243
1244 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_outbound_publish
1245 ;======================OUTBOUND_PUBLISH SECTION OPTIONS=====================
1246 ; See https://wiki.asterisk.org/wiki/display/AST/Publishing+Extension+State
1247 ; for more information.
1248 ;[outbound-publish]
1249 ;type=outbound-publish     ; Must be of type 'outbound-publish'.
1250
1251 ;expiration=3600           ; Expiration time for publications in seconds
1252
1253 ;outbound_auth=            ; Authentication object(s) to be used for outbound
1254                            ; publishes.
1255                            ; This is a comma-delimited list of auth sections
1256                            ; defined in pjsip.conf used to respond to outbound
1257                            ; authentication challenges.
1258                            ; Using the same auth section for inbound and
1259                            ; outbound authentication is not recommended.  There
1260                            ; is a difference in meaning for an empty realm
1261                            ; setting between inbound and outbound authentication
1262                            ; uses. See the auth realm description for details.
1263
1264 ;outbound_proxy=           ; SIP URI of the outbound proxy used to send
1265                            ; publishes
1266
1267 ;server_uri=               ; SIP URI of the server and entity to publish to.
1268                            ; This is the URI at which to find the entity and
1269                            ; server to send the outbound PUBLISH to.
1270                            ; This URI is used as the request URI of the outbound
1271                            ; PUBLISH request from Asterisk.
1272
1273 ;from_uri=                 ; SIP URI to use in the From header.
1274                            ; This is the URI that will be placed into the From
1275                            ; header of outgoing PUBLISH messages. If no URI is
1276                            ; specified then the URI provided in server_uri will
1277                            ; be used.
1278
1279 ;to_uri=                   ; SIP URI to use in the To header.
1280                            ; This is the URI that will be placed into the To
1281                            ; header of outgoing PUBLISH messages. If no URI is
1282                            ; specified then the URI provided in server_uri will
1283                            ; be used.
1284
1285 ;event=                    ; Event type of the PUBLISH.
1286
1287 ;max_auth_attempts=        ; Maximum number of authentication attempts before
1288                            ; stopping the pub.
1289
1290 ;transport=                ; Transport used for outbound publish.
1291                            ; A transport configured in pjsip.conf. As with other
1292                            ; res_pjsip modules, this will use the first
1293                            ; available transport of the appropriate type if
1294                            ; unconfigured.
1295
1296 ;multi_user=no             ; Enable multi-user support (Asterisk 14+ only)
1297
1298
1299
1300 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_pubsub
1301 ;=============================RESOURCE-LIST===================================
1302 ; See https://wiki.asterisk.org/wiki/pages/viewpage.action?pageId=30278158
1303 ; for more information.
1304 ;[resource_list]
1305 ;type=resource_list        ; Must be of type 'resource_list'.
1306
1307 ;event=                    ; The SIP event package that the list resource.
1308                            ; belongs to.  The SIP event package describes the
1309                            ; types of resources that Asterisk reports the state
1310                            ; of.
1311
1312 ;list_item=                ; The name of a resource to report state on.
1313                            ; In general Asterisk looks up list items in the
1314                            ; following way:
1315                            ;  1. Check if the list item refers to another
1316                            ;     configured resource list.
1317                            ;  2. Pass the name of the resource off to
1318                            ;     event-package-specific handlers to find the
1319                            ;     specified resource.
1320                            ; The second part means that the way the list item
1321                            ; is specified depends on what type of list this is.
1322                            ; For instance, if you have the event set to
1323                            ; presence, then list items should be in the form of
1324                            ; dialplan_extension@dialplan_context. For
1325                            ; message-summary, mailbox names should be listed.
1326
1327 ;full_state=no             ; Indicates if the entire list's state should be
1328                            ; sent out.
1329                            ; If this option is enabled, and a resource changes
1330                            ; state, then Asterisk will construct a notification
1331                            ; that contains the state of all resources in the
1332                            ; list. If the option is disabled, Asterisk will
1333                            ; construct a notification that only contains the
1334                            ; states of resources that have changed.
1335                            ; NOTE: Even with this option disabled, there are
1336                            ; certain situations where Asterisk is forced to send
1337                            ; a notification with the states of all resources in
1338                            ; the list. When a subscriber renews or terminates
1339                            ; its subscription to the list, Asterisk MUST send
1340                            ; a full state notification.
1341
1342 ;notification_batch_interval=0
1343                            ; Time Asterisk should wait, in milliseconds,
1344                            ; before sending notifications.
1345
1346 ;==========================INBOUND_PUBLICATION================================
1347 ; See https://wiki.asterisk.org/wiki/display/AST/Exchanging+Device+and+Mailbox+State+Using+PJSIP
1348 ; for more information.
1349 ;[inbound-publication]
1350 ;type=                     ; Must be of type 'inbound-publication'.
1351
1352 ;endpoint=                 ; Optional name of an endpoint that is only allowed
1353                            ; to publish to this resource.
1354
1355
1356 ; MODULE PROVIDING BELOW SECTION(S): res_pjsip_publish_asterisk
1357 ;==========================ASTERISK_PUBLICATION===============================
1358 ; See https://wiki.asterisk.org/wiki/display/AST/Exchanging+Device+and+Mailbox+State+Using+PJSIP
1359 ; for more information.
1360 ;[asterisk-publication]
1361 ;type=asterisk-publication ; Must be of type 'asterisk-publication'.
1362
1363 ;devicestate_publish=      ; Optional name of a publish item that can be used
1364                            ; to publish a req.
1365
1366 ;mailboxstate_publish=     ; Optional name of a publish item that can be used
1367                            ; to publish a req.
1368
1369 ;device_state=no           ; Whether we should permit incoming device state
1370                            ; events.
1371
1372 ;device_state_filter=      ; Optional regular expression used to filter what
1373                            ; devices we accept events for.
1374
1375 ;mailbox_state=no          ; Whether we should permit incoming mailbox state
1376                            ; events.
1377
1378 ;mailbox_state_filter=     ; Optional regular expression used to filter what
1379                            ; mailboxes we accept events for.