-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy pathflexisip.conf.sample
2111 lines (1709 loc) · 76.4 KB
/
flexisip.conf.sample
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
212
213
214
215
216
217
218
219
220
221
222
223
224
225
226
227
228
229
230
231
232
233
234
235
236
237
238
239
240
241
242
243
244
245
246
247
248
249
250
251
252
253
254
255
256
257
258
259
260
261
262
263
264
265
266
267
268
269
270
271
272
273
274
275
276
277
278
279
280
281
282
283
284
285
286
287
288
289
290
291
292
293
294
295
296
297
298
299
300
301
302
303
304
305
306
307
308
309
310
311
312
313
314
315
316
317
318
319
320
321
322
323
324
325
326
327
328
329
330
331
332
333
334
335
336
337
338
339
340
341
342
343
344
345
346
347
348
349
350
351
352
353
354
355
356
357
358
359
360
361
362
363
364
365
366
367
368
369
370
371
372
373
374
375
376
377
378
379
380
381
382
383
384
385
386
387
388
389
390
391
392
393
394
395
396
397
398
399
400
401
402
403
404
405
406
407
408
409
410
411
412
413
414
415
416
417
418
419
420
421
422
423
424
425
426
427
428
429
430
431
432
433
434
435
436
437
438
439
440
441
442
443
444
445
446
447
448
449
450
451
452
453
454
455
456
457
458
459
460
461
462
463
464
465
466
467
468
469
470
471
472
473
474
475
476
477
478
479
480
481
482
483
484
485
486
487
488
489
490
491
492
493
494
495
496
497
498
499
500
501
502
503
504
505
506
507
508
509
510
511
512
513
514
515
516
517
518
519
520
521
522
523
524
525
526
527
528
529
530
531
532
533
534
535
536
537
538
539
540
541
542
543
544
545
546
547
548
549
550
551
552
553
554
555
556
557
558
559
560
561
562
563
564
565
566
567
568
569
570
571
572
573
574
575
576
577
578
579
580
581
582
583
584
585
586
587
588
589
590
591
592
593
594
595
596
597
598
599
600
601
602
603
604
605
606
607
608
609
610
611
612
613
614
615
616
617
618
619
620
621
622
623
624
625
626
627
628
629
630
631
632
633
634
635
636
637
638
639
640
641
642
643
644
645
646
647
648
649
650
651
652
653
654
655
656
657
658
659
660
661
662
663
664
665
666
667
668
669
670
671
672
673
674
675
676
677
678
679
680
681
682
683
684
685
686
687
688
689
690
691
692
693
694
695
696
697
698
699
700
701
702
703
704
705
706
707
708
709
710
711
712
713
714
715
716
717
718
719
720
721
722
723
724
725
726
727
728
729
730
731
732
733
734
735
736
737
738
739
740
741
742
743
744
745
746
747
748
749
750
751
752
753
754
755
756
757
758
759
760
761
762
763
764
765
766
767
768
769
770
771
772
773
774
775
776
777
778
779
780
781
782
783
784
785
786
787
788
789
790
791
792
793
794
795
796
797
798
799
800
801
802
803
804
805
806
807
808
809
810
811
812
813
814
815
816
817
818
819
820
821
822
823
824
825
826
827
828
829
830
831
832
833
834
835
836
837
838
839
840
841
842
843
844
845
846
847
848
849
850
851
852
853
854
855
856
857
858
859
860
861
862
863
864
865
866
867
868
869
870
871
872
873
874
875
876
877
878
879
880
881
882
883
884
885
886
887
888
889
890
891
892
893
894
895
896
897
898
899
900
901
902
903
904
905
906
907
908
909
910
911
912
913
914
915
916
917
918
919
920
921
922
923
924
925
926
927
928
929
930
931
932
933
934
935
936
937
938
939
940
941
942
943
944
945
946
947
948
949
950
951
952
953
954
955
956
957
958
959
960
961
962
963
964
965
966
967
968
969
970
971
972
973
974
975
976
977
978
979
980
981
982
983
984
985
986
987
988
989
990
991
992
993
994
995
996
997
998
999
1000
##
## This is the default Flexisip (v2.3.0-alpha-29-gb19a1ce5) configuration
## file
##
##
## Some global settings of the flexisip proxy.
##
[global]
# Servers started by default when no --server option is specified
# on command line. Possible values are 'proxy', 'presence', 'conference',
# 'regevent' separated by whitespaces.
# Default: proxy
#default-servers=proxy
# Automatically respawn flexisip in case of abnormal termination
# (crashes). This has an effect if Flexisip has been launched with
# '--daemon' option only
# Default: true
#auto-respawn=true
# Path to the directory where plugins can be found.
# Default: /opt/belledonne-communications/lib/flexisip/plugins
#plugins-dir=/opt/belledonne-communications/lib/flexisip/plugins
# Plugins to load. Look at <prefix>/lib/flexisip/plugins to know
# the list of installed plugin. The name of a plugin can be derivated
# from the according library name by striping out the extension
# part and the leading 'lib' prefix.
# E.g. putting 'jweauth' in this setting will make libjweauth.so
# library to be load on runtime.
# Default:
#plugins=
# Generate a core file on crash.
# On GNU/Linux, the action to do on core dump is defined by the
# kernel file '/proc/sys/kernel/core_pattern'. On recent distributions
# like RHEL 8, the generated cores is given by default to the core
# manager of SystemD and the core can be easily listed by using
# coredumpctl(1) command.
# On older distributions, the cores are often written in '/' directory.
# If your root directory has little available space, it is recommended
# to relocate your core dumps in another place by modifying the
# 'core_pattern' file on system boot. This may be done by adding
# this line in '/etc/rc.local':
# echo '/home/cores/core.%e.%t.%p' > /proc/sys/kernel/core_pattern
#
# See core(5) manual for more information about core handling on
# GNU/Linux.
# Default: false
#dump-corefiles=false
# Enable SNMP.
# Default: false
#enable-snmp=false
# Directory where to create log files. Create logs are named as
# 'flexisip-<server_type>.log'. If If several server types have
# been specified by '--server' option or 'global/default-servers'
# parameter, then <server_type> is expanded by a concatenation of
# all the server types joined with '+' character.
# WARNING: Flexisip has no embedded log rotation system but provides
# a configuration file for logrotate. Please ensure that logrotate
# is installed and running on your system if you want to have Flexisip's
# logs rotated. Log rotation can be customized by editing /etc/logrotate.d/flexisip-logrotate.
# Default: /var/opt/belledonne-communications/log/flexisip
#log-directory=/var/opt/belledonne-communications/log/flexisip
# Name of the log file. Any occurences of '{server}' will be replaced
# by the server type which has been given by '--server' option or
# 'default-servers' parameter. If several server types have been
# given, then '{server}' will be replaced by the concatenation of
# these separated by '+' character (e.g. 'proxy+presence')
# Default: flexisip-{server}.log
#log-filename=flexisip-{server}.log
# Log file verbosity. Possible values are debug, message, warning
# and error
# Default: error
#log-level=error
# Syslog verbosity. Possible values are debug, message, warning
# and error
# Default: error
#syslog-level=error
# Log (on a different log domain) user errors like authentication,
# registration, routing, etc...
# Default: false
#user-errors-logs=false
# A boolean expression applied to current SIP message being processed.
# When matched, logs are output provided that there level is greater
# than the value defined in contextual-log-level. The definition
# of the SIP boolean expression is the same as for entry filters
# of modules, which is documented here: https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default:
#contextual-log-filter=
# Verbosity of contextual logs to output when the condition defined
# in 'contextual-log-filter' is met.
# Default: debug
#contextual-log-level=debug
# Filter expression applied to all messages, if true message body
# is shown, if false not. Can not be empty, use 'true' or 'false'
# constants instead. The definition of the SIP boolean expression
# is documented here: https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Example : content-type == 'application/sdp' && request.method
# == 'MESSAGE'
# Default: content-type == 'application/sdp'
#show-body-for=content-type == 'application/sdp'
# List of white space separated SIP URIs where the proxy must listen.
# Wildcard (*) can be used to mean 'all local ip addresses'. If
# 'transport' parameter is unspecified, it will listen to both udp
# and tcp. A local address to bind onto can be indicated in the
# 'maddr' parameter, while the domain part of the uris are used
# as public domain or ip address.
# The 'sips' transport definitions accept two optional parameters:
# - 'tls-certificates-dir' taking for value a path, with the same
# meaning as the 'tls-certificates-dir' property of this section
# and overriding it for this given transport.
# - 'tls-certificates-file' taking for value a file path, with
# the same meaning as the 'tls-certificates-file' property of this
# section and overriding it for this given transport.
# - 'tls-certificates-private-key' taking for value a file path,
# with the same meaning as the 'tls-certificates-private-key' property
# of this section and overriding it for this given transport.
# - 'tls-certificates-ca-file' taking for value a file path, with
# the same meaning as the 'tls-certificates-ca-file' property of
# this section and overriding it for this given transport.
# - 'tls-verify-incoming' taking for value '0' or '1', to indicate
# whether clients connecting are required to present a valid client
# certificate. Default value is 0.
# - 'tls-allow-missing-client-certificate' taking for value '0'
# or '1', to allow connections from clients which have no certificate
# even if `tls-verify-incoming` has been enabled. That's useful
# if you wish to have Flexisip to ask for a client certificate,
# but without failing if the client cannot provide one.
# - 'tls-verify-outgoing' taking for value '0' or '1', whether
# flexisip should check the peer certificate when it make an outgoing
# TLS connection to another server. Default value is 1.
# - 'require-peer-certificate' (deprecated) same as tls-verify-incoming
#
# It is HIGHLY RECOMMENDED to specify a canonical name for 'sips'
# transport, so that the proxy can advertise this information in
# Record-Route headers, which allows TLS cname check to be performed
# by clients.
# Specifying a sip uri with transport=tls is not allowed: the 'sips'
# scheme must be used instead. As requested by SIP RFC, IPv6 address
# must be enclosed within brakets.
# Here are some examples to understand:
# - listen on all local interfaces for udp and tcp, on standard
# port:
# transports=sip:*
# - listen on all local interfaces for udp,tcp and tls, on standard
# ports:
# transports=sip:* sips:*
# - listen only a specific IPv6 interface, on standard ports, with
# udp, tcp and tls
# transports=sip:[2a01:e34:edc3:4d0:7dac:4a4f:22b6:2083] sips:[2a01:e34:edc3:4d0:7dac:4a4f:22b6:2083]
# - listen on tls localhost with 2 different ports and SSL certificates:
# transports=sips:localhost:5061;tls-certificates-dir=path_a sips:localhost:5062;tls-certificates-dir=path_b
# - listen on tls localhost with 2 peer certificate requirements:
# transports=sips:localhost:5061;tls-verify-incoming=0 sips:localhost:5062;tls-verify-incoming=1
# - listen on 192.168.0.29:6060 with tls, but public hostname is
# 'sip.linphone.org' used in SIP messages. Bind address won't appear
# in messages:
# transports=sips:sip.linphone.org:6060;maddr=192.168.0.29
# Default: sip:*
#transports=sip:*
# List of white space separated host names pointing to this machine.
# This is to prevent loops while routing SIP messages.
# Default: localhost
#aliases=localhost
# Time interval in seconds after which inactive connections are
# closed.
# Default: 3600
#idle-timeout=3600
# Time interval in seconds for sending "\r\n\r\n" keepalives packets
# on inbound and outbound connections. A value of zero stands for
# no keepalive. The main purpose of sending keepalives is to keep
# connection alive accross NATs, but it also helps in detecting
# silently broken connections which can reduce the number socket
# descriptors used by flexisip.
# Default: 1800
#keepalive-interval=1800
# Time interval in seconds for sending "\r\n\r\n" keepalives packets
# specifically for proxy to proxy connections. Indeed, while it
# is undesirable to send frequent keepalives to mobile clients because
# it drains their battery, sending frequent keepalives has proven
# to be helpful to keep connections up between proxy nodes in a
# very popular US virtualized datacenter. A value of zero stands
# for no keepalive.
# Default: 0
#proxy-to-proxy-keepalive-interval=0
# SIP transaction timeout in milliseconds. It is T1*64 (32000 ms)
# by default.
# Default: 32000
#transaction-timeout=32000
# The UDP MTU. Flexisip will fallback to TCP when sending a message
# whose size exceeds the UDP MTU. Please read http://sofia-sip.sourceforge.net/refdocs/nta/nta__tag_8h.html#a6f51c1ff713ed4b285e95235c4cc999a
# for more details. If sending large packets over UDP is not a problem,
# then set a big value such as 65535. Unlike the recommandation
# of the RFC, the default value of UDP MTU is 1460 in Flexisip (instead
# of 1300).
# Default: 1460
#udp-mtu=1460
# You can specify the bind address for all RTP streams (MediaRelay
# and Transcoder). This parameter is only useful for some specific
# networks, keeping the default value is recommended.
# Default: 0.0.0.0 ::0
#rtp-bind-address=0.0.0.0 ::0
# Path to the file containing the server certificate chain. The
# file must be in PEM format, see OpenSSLSSL_CTX_use_certificate_chain_file
# documentation. If used tls-certificates-private-key MUST be set.
# Default:
#tls-certificates-file=
# Path to the file containing the private key. See OpenSSL SSL_CTX_use_PrivateKey_file
# documentation. If used tls-certificates-file MUST be set.
# Default:
#tls-certificates-private-key=
# Path to the file contain CA certificates. See OpenSSL SSL_CTX_load_verify_locations
# and SSL_CTX_set_client_CA_list documentation. Can be empty.
# Default:
#tls-certificates-ca-file=
# Ciphers string to pass to OpenSSL in order to limit the cipher
# suites to use while establishing TLS sessions. Please take a look
# to ciphers(1) UNIX manual to get the list of keywords supported
# by your current version of OpenSSL. You might visit https://www.openssl.org/docs/manmaster/man1/ciphers.html
# too. The default value set by Flexisip should provide a high level
# of security while keeping an acceptable level of interoperability
# with currenttly deployed clients on the market.
# Default: HIGH:!SSLv2:!SSLv3:!TLSv1:!EXP:!ADH:!RC4:!3DES:!aNULL:!eNULL
#tls-ciphers=HIGH:!SSLv2:!SSLv3:!TLSv1:!EXP:!ADH:!RC4:!3DES:!aNULL:!eNULL
# Ask for client certificate on TLS session establishing.
# Default: false
#require-peer-certificate=false
# Unique ID used to identify that instance of Flexisip. It must
# be a randomly generated 16-sized hexadecimal number. If empty,
# it will be randomly generated on each start of Flexisip.
# Default:
#unique-id=
# Number of SIP message that sofia can queue in a tport (a connection).
# It is 64 by default, hardcoded in sofia-sip (sofia-sip also used
# to hardcode a max value, 1000). This is not sufficient for IM.
# Default: 1000
#tport-message-queue-size=1000
##
## This section contains some parameters useful when the current
## proxy is part of a network of proxies (cluster) which serve the
## same domain.
##
[cluster]
# Enable cluster mode. If 'false', the parameters of [cluster] section
# won't have any effect.
# Default: false
#enabled=false
# Domain name that enables external SIP agents to access to the
# cluster. Such domain is often associated to DNS SRV records for
# each proxy of the cluster, so that DNS resolution returns the
# address of a specific proxy randomly.
# Flexisip uses that domain when it needs to insert a 'Path' or
# 'Record-route' header addressing the cluster instead of itself.
# Default:
#cluster-domain=
# List of IP addresses of all the proxies present in the cluster.
# SIP messages coming from these addresses won't be challenged by
# the authentication module and won't have any rate limit applied
# by the DoS protection module.
# Default:
#nodes=
# Transport to use for communication with the other proxies of the
# cluster. This is useful only when no transport declared in 'global/transport'
# parameter can be used to reach the other proxies e.g. when inter-proxy
# communications are to be made through a private network.
# Ex: sip:10.0.0.8:5059;transport=tcp
# Default:
#internal-transport=
##
## Should the server be registered on a local domain, to be accessible
## via multicast DNS.
##
[mdns-register]
# Set to 'true' to enable multicast DNS register
# Default: false
#enabled=false
# Priority of this instance, lower value means more preferred.
# 'n': priority of n (example 10)
# 'n-m': random priority between n and m (example 10-50)
# Default: 0
#mdns-priority=0
# A relative weight for Flexisips with the same priority, higher
# value means more preferred.
# For example, if two Flexisips are registered on the same local
# domain with one at 20 and the other at 80, then 20% of Flexisip
# traffic will be redirected to the first Flexisip and 80% to the
# other one.
# The sum of all the weights of Flexisips on the same local domain
# must be 100.
# Default: 100
#mdns-weight=100
# Time To Live of any mDNS query that will ask for this Flexisip
# instance
# Default: 3600
#mdns-ttl=3600
##
## Event logs contain per domain and user information about processed
## registrations, calls and messages.
## See: https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Event%20logs%20and%20queries/
## for architecture and queries.
##
[event-logs]
# Enable event logs.
# Default: false
#enabled=false
# Define logger for storing logs. It supports "filesystem" and "database".
# Default: filesystem
#logger=filesystem
# Directory where event logs are written as a filesystem (case when
# filesystem output is choosed).
# Default: /var/log/flexisip
#filesystem-directory=/var/log/flexisip
# Choose the type of backend that Soci will use for the connection.
# Depending on your Soci package and the modules you installed,
# the supported databases are:`mysql`, `sqlite3` and `postgresql`
# Default: mysql
#database-backend=mysql
# The configuration parameters of the backend.
# The basic format is "key=value key2=value2". For a mysql backend,
# this is a valid config: "db=mydb user=user password='pass' host=myhost.com".
# Please refer to the Soci documentation of your backend, for instance:
# http://soci.sourceforge.net/doc/master/backends/#supported-backends-and-features
# Default: db='mydb' user='myuser' password='mypass' host='myhost.com'
#database-connection-string=db='mydb' user='myuser' password='mypass' host='myhost.com'
# Amount of queries that will be allowed to be queued before bailing
# password requests.
# This value should be chosen accordingly with 'database-nb-threads-max',
# so that you have a coherent behavior.
# This limit is here mainly as a safeguard against out-of-control
# growth of the queue in the event of a flood or big delays in the
# database backend.
# Default: 100
#database-max-queue-size=100
# Maximum number of threads for writing in database.
# If you get a `database is locked` error with sqlite3, you must
# set this variable to 1.
# Default: 10
#database-nb-threads-max=10
##
## STUN server parameters.
##
[stun-server]
# Enable or disable stun server.
# Default: true
#enabled=true
# Local ip address where to bind the socket.
# Default: 0.0.0.0
#bind-address=0.0.0.0
# STUN server port number.
# Default: 3478
#port=3478
##
## Flexisip presence server parameters.
##
[presence-server]
# Enable presence server
# Default: true
#enabled=true
# List of white space separated SIP URIs where the presence server
# must listen. Must not be tls.
# Default: sip:127.0.0.1:5065;transport=tcp
#transports=sip:127.0.0.1:5065;transport=tcp
# Default expires of PUBLISH request in second.
# Default: 600
#expires=600
# Max number of presentity sent in a single NOTIFY by default.
# Default: 200
#notify-limit=200
# Enable long-term presence notifies
# Default: false
#long-term-enabled=false
# Soci connection string for the resource list database.
# Default:
#rls-database-connection=
# SQL request to obtain the list of the users corresponding to an
# resource list subscription.
# Named parameters are:
# * ':from' : the URI of the sender of the SUBSCRIBE. (mandatory)
# * ':to' : the URI of the users list which the sender want to
# subscribe to. (mandatory)
#
# Default:
#rls-database-request=
# Max number of threads.
# Default: 50
#rls-database-max-thread=50
# Max legnth of threads queue.
# Default: 50
#rls-database-max-thread-queue-size=50
# Soci SQL request used to obtain the username associated with a
# phone alias.
# The string MUST contains the ':phone' keyword which will be replaced
# by the phone number to look for.
# The result of the request is a 1x1 table containing the name of
# the user associated with the phone number.
#
# Example: select login from accounts where phone = :phone
# Default:
#soci-user-with-phone-request=
# Same as 'soci-user-with-phone-request' but allows to fetch several
# users by a unique SQL request.
# The string MUST contains the ':phones' keyword which will be replaced
# by the list of phone numbers to look for. Each element of the
# list is seperated by a comma character and is protected by simple
# quotes (e.g. '0336xxxxxxxx','0337yyyyyyyy','034zzzzzzzzz').
# If you use phone number linked accounts you'll need to select
# login, domain, phone in your request for flexisip to work.
# Example: select login, domain, phone from accounts where phone
# in (:phones)
# Default:
#soci-users-with-phones-request=
##
## Flexisip conference server parameters. The flexisip conference
## server is a user-agent that handles session-based chat (yes, text
## only at this time). It requires a mysql database in order to persisently
## store chatroom state (participants and their devices). It will
## use the Registrar backend (see section module::Registrar) to discover
## devices (or client instances) of each participant.
##
[conference-server]
# Enable conference server
# Default: true
#enabled=true
# URI where the conference server must listen. Only one URI can
# be specified.
# Default: sip:127.0.0.1:6064;transport=tcp
#transport=sip:127.0.0.1:6064;transport=tcp
# List of SIP uris used by clients to create a conference. This
# implicitely defines the list of SIP domains managed by the conference
# server. For example:
# conference-factory-uris=sip:conference-factory@sip.linphone.org
# sip:conference-factory@sip.linhome.org
# Default:
#conference-factory-uris=
# uri used as conference server contact address. For example:
# conference-focus-uris=sip:conference-factory@sip.linphone.org
# sip:conference-factory@sip.linhome.org
# Default:
#conference-focus-uris=
# The Flexisip proxy URI to which the conference server should sent
# all its outgoing SIP requests.
# Default: sip:127.0.0.1:5060;transport=tcp
#outbound-proxy=sip:127.0.0.1:5060;transport=tcp
# Domains managed by the local SIP service, ie domains for which
# user registration information can be found directly from the local
# registrar database (redis database). For external domains (not
# in this list), a 'reg' SUBSCRIBE (RFC3680) will be emitted.It
# is not necessary to list here domains that appear in the 'conference-factory-uris'
# property. They are assumed to be local domains already.
# Ex: local-domains=sip.linphone.org conf.linphone.org linhome.org
# Default:
#local-domains=
# Choose the type of backend that linphone will use for the connection.
# Depending on your Soci package and the modules you installed,
# the supported databases are: `mysql`, `sqlite3`
# Default: mysql
#database-backend=mysql
# The configuration parameters of the backend.
# The basic format is "key=value key2=value2". For a mysql backend,
# this is a valid config: "db=mydb user=user password='pass' host=myhost.com".
# Please refer to the Soci documentation of your backend, for instance:
# http://soci.sourceforge.net/doc/3.2/backends/mysql.htmlhttp://soci.sourceforge.net/doc/3.2/backends/sqlite3.html
# Default: db='mydb' user='myuser' password='mypass' host='myhost.com'
#database-connection-string=db='mydb' user='myuser' password='mypass' host='myhost.com'
# Whether the conference server shall check device capabilities
# before inviting them to a session.
# The capability check is currently limited to Linphone client that
# put a +org.linphone.specs contact parameter in order to indicate
# whether they support group chat and secured group chat.
# Default: true
#check-capabilities=true
# List of media supported by the conference server.
# Valid values are: audio, video and text. For example:
# supported-media-types=audio video text
# Default: text
#supported-media-types=text
# The preferred encryption the conference server will offer in the
# outgoing transactions.
# Valid values are: none, sdes, zrtp and dtls.
# Default: none
#encryption=none
# Public host name or IP addresses of the conference server machine.
# Configuring this property is required when the conference server
# is deployed behind a firewall, so that the public IP address (v4,
# v6) can be advertised in SDP, as ICE server-reflexive candidates
# in order for the conference server to receive RTP media packets
# from clients. If no hostname is given, the v4 and v6 IP address
# can be listed separated by whitespaces, in any order. It is not
# possible to configure several v4 addresses or several v6 addresses.For
# example:
# nat-addresses=conference.linphone.org
# nat-addresses=5.135.31.160 2001:41d0:303:3aee::1
# Default:
#nat-addresses=
##
## Flexisip RegEvent server parameters.The regevent server is in
## charge of responding to SIP SUBSCRIBEs for the 'reg' event as
## defined by RFC3680 - A Session Initiation Protocol (SIP) Event
## Package for Registrations - https://tools.ietf.org/html/rfc3680
## .To generate the outgoing NOTIFY, it will rely upon the registrar
## database, as setup in module::Registrar section.
##
[regevent-server]
# SIP uri on which the RegEvent server is listening on.
# Default: sip:127.0.0.1:6065;transport=tcp
#transport=sip:127.0.0.1:6065;transport=tcp
##
## Flexisip back-to-back user agent server parameters.
##
[b2bua-server]
# The type of application that will handle calls bridged through
# the B2BUA. Possible values:
# - `trenscrypter` Bridge different encryption types on both ends
# transparently.
# - `sip-bridge` Bridge calls through an external SIP provider.
# (e.g. for PSTN gateways)
# Default: trenscrypter
#application=trenscrypter
# SIP uri on which the back-to-back user agent server is listening
# on.
# Default: sip:127.0.0.1:6067;transport=tcp
#transport=sip:127.0.0.1:6067;transport=tcp
# Directory where to store b2bua core local files
# Default
# Default: /var/opt/belledonne-communications/flexisip/b2b
#data-directory=/var/opt/belledonne-communications/flexisip/b2b
# The Flexisip proxy URI to which the B2bua server should send all
# its outgoing SIP requests.
# Default: sip:127.0.0.1:5060;transport=tcp
#outbound-proxy=sip:127.0.0.1:5060;transport=tcp
##
## Encryption transcoder bridge parameters.
##
[b2bua-server::trenscrypter]
# Select the call outgoing encryption mode, this is a list of regular
# expressions and encryption mode.
# Valid encryption modes are: zrtp, dtls-srtp, sdes, none.
#
# The list is formatted in the following mode:
# mode1 regex1 mode2 regex2 ... moden regexn
# regex use posix syntax, any invalid one is skipped
# Each regex is applied, in the given order, on the callee sip uri(including
# parameters if any). First match found determines the encryption
# mode. if no regex matches, the incoming call encryption mode is
# used.
#
# Example: zrtp .*@sip\.secure-example\.org dtsl-srtp .*dtls@sip\.example\.org
# zrtp .*zrtp@sip\.example\.org sdes .*@sip\.example\.org
# In this example: the address is matched in order with
# .*@sip\.secure-example\.org so any call directed to an address
# on domain sip.secure-example-org uses zrtp encryption mode
# .*dtls@sip\.example\.org any call on sip.example.org to a username
# ending with dtls uses dtls-srtp encryption mode
# .*zrtp@sip\.example\.org any call on sip.example.org to a username
# ending with zrtp uses zrtp encryption mode
# The previous example will fail to match if the call is directed
# to a specific device(having a GRUU as callee address)
# To ignore sip URI parameters, use (;.*)? at the end of the regex.
# Example: .*@sip\.secure-example\.org(;.*)?
# Default:Selected encryption mode(if any) is enforced and the call
# will fail if the callee does not support this mode
# Default:
#outgoing-enc-regex=
# Outgoing SRTP crypto suite in SDES encryption mode:
# Select the call outgoing SRTP crypto suite when outgoing encryption
# mode is SDES, this is a list of regular expressions and crypto
# suites list.
# Valid srtp crypto suites are :
# AES_CM_128_HMAC_SHA1_80, AES_CM_128_HMAC_SHA1_32
# AES_192_CM_HMAC_SHA1_80, AES_192_CM_HMAC_SHA1_32 // currently
# not supported
# AES_256_CM_HMAC_SHA1_80, AES_256_CM_HMAC_SHA1_80
# AEAD_AES_128_GCM, AEAD_AES_256_GCM
#
# The list is formatted in the following mode:
# cryptoSuiteList1 regex1 cryptoSuiteList2 regex2 ... crytoSuiteListn
# regexn
# with cryptoSuiteList being a ; separated list of crypto suites.
#
# Regex use posix syntax, any invalid one is skipped
# Each regex is applied, in the given order, on the callee sip uri(including
# parameters if any). First match found determines the crypto suite
# list used.
#
# if no regex matches, core setting is applied
# or default to AES_CM_128_HMAC_SHA1_80;AES_CM_128_HMAC_SHA1_32;AES_256_CM_HMAC_SHA1_80;AES_256_CM_HMAC_SHA1_32
# when no core setting is available
#
# Example:
# AES_256_CM_HMAC_SHA1_80;AES_256_CM_HMAC_SHA1_32 .*@sip\.secure-example\.org
# AES_CM_128_HMAC_SHA1_80 .*@sip\.example\.org
#
# In this example: the address is matched in order with
# .*@sip\.secure-example\.org so any call directed to an address
# on domain sip.secure-example-org uses AES_256_CM_HMAC_SHA1_80;AES_256_CM_HMAC_SHA1_32
# suites (in that order)
# .*@sip\.example\.org any call directed to an address on domain
# sip.example.org use AES_CM_128_HMAC_SHA1_80 suite
# The previous example will fail to match if the call is directed
# to a specific device(having a GRUU as callee address)
# To ignore sip URI parameters, use (;.*)? at the end of the regex.
# Example: .*@sip\.secure-example\.org(;.*)?
# Default:
# Default:
#outgoing-srtp-regex=
##
## External SIP Provider Bridge parameters.
##
[b2bua-server::sip-bridge]
# Path to a file containing the accounts to use for external SIP
# bridging, organised by provider, in JSON format.
# Here is a template of what should be in this file:
# [{"name": "<user-friendly provider name for CLI output>",
# "pattern": "<regexp to match callee address>",
# "outboundProxy": "<sip:some.provider.example.com;transport=tls>",
# "registrationRequired": true,
# "maxCallsPerLine": 42,
# "accounts": [{
# "uri": "sip:account1@some.provider.example.com",
# "userid": "<optional (e.g. an API key)>",
# "password": "<password or API token>"
# }]
# }]
# Default: example-path.json
#providers=example-path.json
##
## This module bans user when they are sending too much packets within
## a given timeframe. To see the list of currently banned IPs/ports,
## use iptables -L.
##
[module::DoSProtection]
# Indicate whether the module is activated.
# Default: true
#enabled=true
# A request/response enters module if the boolean filter evaluates
# to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain
# in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org')
# && (user-agent == 'Linphone v2'). You can consult the full filter
# documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default:
#filter=
# Number of milliseconds to consider to compute the packet rate
# Default: 3000
#time-period=3000
# Maximum packet rate in packets/seconds, averaged over [time-period]
# millisecond(s) to consider it as a DoS attack.
# Default: 20
#packet-rate-limit=20
# Number of minutes to ban the ip/port using iptables
# Default: 2
#ban-time=2
# Name of the chain flexisip will create to store the banned IPs
# Default: FLEXISIP
#iptables-chain=FLEXISIP
# List of IP addresses or hostnames for which no DoS protection
# is made. This is typically for trusted servers from which we can
# receive high traffic. Please note that nodes from the local flexisip
# cluster (see [cluster] section) are automatically added to the
# white list, as well as 127.0.0.1 and ::1.
# Example:
# white-list=sip.example.org sip.linphone.org 15.128.128.93
# Default:
#white-list=
##
## The SanitChecker module checks that required fields of a SIP message
## are present to avoid unecessary checking while processing message
## further.
## If the message doesn't meet these sanity check criterias, then
## it is stopped and bad request response is sent.
##
[module::SanityChecker]
# Indicate whether the module is activated.
# Default: true
#enabled=true
# A request/response enters module if the boolean filter evaluates
# to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain
# in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org')
# && (user-agent == 'Linphone v2'). You can consult the full filter
# documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default:
#filter=
##
## The GarbageIn module collects incoming garbage and prevent any
## further processing.
##
[module::GarbageIn]
# Indicate whether the module is activated.
# Default: false
#enabled=false
# A request/response enters module if the boolean filter evaluates
# to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain
# in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org')
# && (user-agent == 'Linphone v2'). You can consult the full filter
# documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default: false
#filter=false
##
## The NatHelper module executes small tasks to make SIP work smoothly
## despite firewalls. It corrects the Contact headers that contain
## obviously inconsistent addresses, and adds a Record-Route to ensure
## subsequent requests are routed also by the proxy, through the
## same UDP or TCP channel used for the initial request.
##
[module::NatHelper]
# Indicate whether the module is activated.
# Default: true
#enabled=true
# A request/response enters module if the boolean filter evaluates
# to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain
# in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org')
# && (user-agent == 'Linphone v2'). You can consult the full filter
# documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default:
#filter=
# Internal URI parameter added to response contact by first proxy
# and cleaned by last one.
# Default: verified
#contact-verified-param=verified
# Fix record-routes, to workaround proxies behind firewalls but
# not aware of it.
# Default: false
#fix-record-routes=false
# Policy to recognize nat'd record-route and fix them. There are
# two modes: 'safe' and 'always'
# Default: safe
#fix-record-routes-policy=safe
##
## The authentication module challenges and authenticates SIP requests
## using two possible methods:
## * if the request is received via a TLS transport and 'require-peer-certificate'
## is set in transport definition in [Global] section for this transport,
## then the From header of the request is matched with the CN claimed
## by the client certificate. The CN must contain sip:user@domain
## or alternate name with URI=sip:user@domain corresponding to the
## URI in the from header for the request to be accepted. Optionnaly,
## the property tls-client-certificate-required-subject may contain
## a regular expression for additional checks to execute on certificate
## subjects.
## * if no TLS client based authentication can be performed, or
## has failed, then a SIP digest authentication is performed. The
## password verification is made by querying a database or a password
## file on disk.
##
[module::Authentication]
# Indicate whether the module is activated.
# Default: false
#enabled=false
# A request/response enters module if the boolean filter evaluates
# to true. Ex: from.uri.domain contains 'sip.linphone.org', from.uri.domain
# in 'a.org b.org c.org', (to.uri.domain in 'a.org b.org c.org')
# && (user-agent == 'Linphone v2'). You can consult the full filter
# documentation here : https://wiki.linphone.org/xwiki/wiki/public/view/Flexisip/Configuration/Filter%20syntax/
# Default:
#filter=
# List of whitespace-separated IP addresses which will be judged
# as trustful. Messages coming from these addresses won't be challenged.
# Default:
#trusted-hosts=
# List of whitespace separated domains to challenge. Others are
# automatically denied. The wildcard domain '*' is accepted, which
# means that requests are challenged whatever the originating domain
# is. This is convenient for a proxy serving multiple SIP domains.
#
# Default: localhost
#auth-domains=localhost
# List of digest algorithms to use for password hashing. Think this
# setting as filter applied after fetching the credentials of a
# user from the user database. For example, if a user has its password
# hashed by MD5 and SHA-256 but 'available-algorithms' only has
# MD5, then only a MD5-based challenged will be submited to the
# UAC.
# Furthermore, should a user have several hashed passwords and these
# are present in the list, then a challenge header will be put in
# the 401 response for each fetched password in the order given
# by the list.
# Supported algorithems are MD5 and SHA-256.
# Default: MD5
#available-algorithms=MD5
# Disable the QOP authentication method. Default is to use it, use
# this flag to disable it if needed.
# Default: false
#disable-qop-auth=false
# Don't reply 403 when authentication fails. Instead, generate a
# new 401 (or 407) response containing a new challenge.
# Default: false
#no-403=false
# Expiration time before generating a new nonce.
# Unit: second
# Default: 3600
#nonce-expires=3600
# The realm to use for digest authentication. It will used whatever
# the domain of the From-URI.
# If the value starts with 'regex:', then this parameter will have
# the same effect than 'realm-regex', using all the remaining string
# as regular expression.
# WARNING: this parameter is exclusive with 'realm-regex'
#
# Examples:
# realm=sip.example.org
# realm=regex:sip:.*@sip\.(.*)\.com
#
# Default:
#realm=
# Extraction regex applied on the URI of the 'from' header (or P-Prefered-Identity