... | ... |
@@ -34,8 +34,6 @@ Sven Knoblich |
34 | 34 |
Copyright © 2004, 2006 Voice Sistem SRL |
35 | 35 |
|
36 | 36 |
Copyright © 2011 1&1 Internet AG |
37 |
- Revision History |
|
38 |
- Revision $Revision$ $Date$ |
|
39 | 37 |
__________________________________________________________________ |
40 | 38 |
|
41 | 39 |
Table of Contents |
... | ... |
@@ -892,11 +890,11 @@ modparam("acc", "log_missed_flag", 3) |
892 | 890 |
|
893 | 891 |
Log level at which accounting messages are issued to syslog. |
894 | 892 |
|
895 |
- Default value is L_NOTICE. |
|
893 |
+ Default value is 1 (L_NOTICE). |
|
896 | 894 |
|
897 | 895 |
Example 1.12. log_level example |
898 | 896 |
... |
899 |
-modparam("acc", "log_level", 2) # Set log_level to 2 |
|
897 |
+modparam("acc", "log_level", 2) # Set log_level to 2 (L_INFO) |
|
900 | 898 |
... |
901 | 899 |
|
902 | 900 |
6.13. log_facility (string) |
... | ... |
@@ -1344,7 +1342,7 @@ modparam("acc", "cdrs_table", "acc_cdrs") |
1344 | 1342 |
* 0 - (default), save only unix timestamp for syslog and datetime for |
1345 | 1343 |
database. |
1346 | 1344 |
* 1 - save seconds in time_attr and microseconds in time_exten. |
1347 |
- * 2 - save seconds.miliseconds in time_attr. |
|
1345 |
+ * 2 - save seconds.milliseconds in time_attr. |
|
1348 | 1346 |
* 3 - save formatted time according to time_format parameter, using |
1349 | 1347 |
the output of localtime(). |
1350 | 1348 |
* 4 - save formatted time according to time_format parameter, using |
... | ... |
@@ -1385,7 +1383,7 @@ modparam("acc", "time_attr", "seconds") |
1385 | 1383 |
|
1386 | 1384 |
Example 1.51. time_exten example |
1387 | 1385 |
... |
1388 |
-modparam("acc", "time_exten", "micorsecs") |
|
1386 |
+modparam("acc", "time_exten", "microsecs") |
|
1389 | 1387 |
... |
1390 | 1388 |
|
1391 | 1389 |
6.52. time_format (str) |
... | ... |
@@ -1397,10 +1397,9 @@ redlg_setflag("1"); |
1397 | 1397 |
|
1398 | 1398 |
Meaning of the parameters is as follows: |
1399 | 1399 |
* side - where to send the BYE. It can be: 'caller', 'callee', or |
1400 |
- both. |
|
1400 |
+ 'all' (send to both sides). |
|
1401 | 1401 |
|
1402 |
- This function can be used from BRANCH_ROUTE, REQUEST_ROUTE, |
|
1403 |
- ONREPLY_ROUTE and FAILURE_ROUTE. |
|
1402 |
+ This function can be used from ANY_ROUTE. |
|
1404 | 1403 |
|
1405 | 1404 |
Example 1.61. dlg_bye usage |
1406 | 1405 |
... |
... | ... |
@@ -328,7 +328,7 @@ Chapter 1. Admin Guide |
328 | 328 |
|
329 | 329 |
3.1. list_file (string) |
330 | 330 |
|
331 |
- Path to the file with destination sets. |
|
331 |
+ Path to the file with destination sets (destination groups). |
|
332 | 332 |
|
333 | 333 |
Default value is “/etc/kamailio/dispatcher.list” or |
334 | 334 |
“/usr/local/etc/kamailio/dispatcher.list”. |
... | ... |
@@ -340,7 +340,7 @@ modparam("dispatcher", "list_file", "/var/run/kamailio/dispatcher.list") |
340 | 340 |
|
341 | 341 |
3.2. db_url (string) |
342 | 342 |
|
343 |
- If you want to load the sets of gateways from the database you must set |
|
343 |
+ If you want to load the list of gateways from the database you must set |
|
344 | 344 |
this parameter. |
345 | 345 |
|
346 | 346 |
Default value is “NULL” (disable DB support). |
... | ... |
@@ -352,7 +352,7 @@ modparam("dispatcher", "db_url", "mysql://user:passwb@localhost/database") |
352 | 352 |
|
353 | 353 |
3.3. table_name (string) |
354 | 354 |
|
355 |
- If you want to load the sets of gateways from the database you must set |
|
355 |
+ If you want to load the list of gateways from the database you must set |
|
356 | 356 |
this parameter as the database name. |
357 | 357 |
|
358 | 358 |
Default value is “dispatcher”. |
... | ... |
@@ -364,7 +364,7 @@ modparam("dispatcher", "table_name", "my_dispatcher") |
364 | 364 |
|
365 | 365 |
3.4. setid_col (string) |
366 | 366 |
|
367 |
- The column's name in the database storing the gateway's group id. |
|
367 |
+ The column's name in the database storing the gateway's set (group) id. |
|
368 | 368 |
|
369 | 369 |
Default value is “setid”. |
370 | 370 |
|
... | ... |
@@ -1226,8 +1226,8 @@ kamcmd dispatcher.ping_active 0 |
1226 | 1226 |
7.1. Destination List File |
1227 | 1227 |
|
1228 | 1228 |
Each destination point must be on one line. First token is the set id |
1229 |
- (an integer value), followed by destination address (s string value in |
|
1230 |
- SIP URI format). |
|
1229 |
+ (an integer value, also referenced by group id), followed by |
|
1230 |
+ destination address (string value in full SIP URI format). |
|
1231 | 1231 |
|
1232 | 1232 |
Optionally, these fields can be followed by: |
1233 | 1233 |
* flags (listed by index - can be bitwise mask of values): 0 (value |
... | ... |
@@ -1278,21 +1278,21 @@ setid(int) destination(sip uri) flags(int,opt) priority(int,opt) attrs(str,opt) |
1278 | 1278 |
|
1279 | 1279 |
Example 1.40. dispatcher list file |
1280 | 1280 |
... |
1281 |
-# $Id$ |
|
1282 |
-# dispatcher destination sets |
|
1281 |
+# |
|
1282 |
+# dispatcher destination sets (groups) |
|
1283 | 1283 |
# |
1284 | 1284 |
|
1285 | 1285 |
# line format |
1286 |
-# setit(int) destination(sip uri) flags(int,opt) priority(int,opt) attributes(st |
|
1286 |
+# setid(int) destination(sip uri) flags(int,opt) priority(int,opt) attributes(st |
|
1287 | 1287 |
r,opt) |
1288 | 1288 |
|
1289 | 1289 |
# proxies |
1290 |
-2 sip:127.0.0.1:5080 |
|
1291 |
-2 sip:127.0.0.1:5082 |
|
1290 |
+2 sip:127.0.0.1:5080;transport=tcp 0 10 class=4;prefix=448;strip=2 |
|
1291 |
+2 sip:127.0.0.1:5082;px=vx 0 5 duid=abc;socket=udp:192.168.0.125:5060;pipe=p10 |
|
1292 | 1292 |
|
1293 | 1293 |
# gateways |
1294 |
-1 sip:127.0.0.1:7070 |
|
1295 |
-1 sip:127.0.0.1:7072 |
|
1294 |
+1 sip:127.0.0.1:7070 0 0 duid=xyz;maxload=20 |
|
1295 |
+1 sip:127.0.0.1:7072 0 5 |
|
1296 | 1296 |
1 sip:127.0.0.1:7074 |
1297 | 1297 |
|
1298 | 1298 |
... |
... | ... |
@@ -21,7 +21,7 @@ Richard Fuchs |
21 | 21 |
|
22 | 22 |
1. Overview |
23 | 23 |
|
24 |
- 1.1. Path insertion for registrations |
|
24 |
+ 1.1. Path Insertion For Registrations |
|
25 | 25 |
1.2. Outbound routing to NAT'ed UACs |
26 | 26 |
|
27 | 27 |
2. Dependencies |
... | ... |
@@ -44,13 +44,14 @@ Richard Fuchs |
44 | 44 |
|
45 | 45 |
List of Examples |
46 | 46 |
|
47 |
- 1.1. Set use_received parameter |
|
48 |
- 1.2. add_path usage |
|
49 |
- 1.3. add_path(user) usage |
|
50 |
- 1.4. add_path(user, parameters) usage |
|
51 |
- 1.5. add_path_received() usage |
|
52 |
- 1.6. add_path_received(user) usage |
|
53 |
- 1.7. add_path_received(user, parameters) usage |
|
47 |
+ 1.1. Add Supported header |
|
48 |
+ 1.2. Set use_received parameter |
|
49 |
+ 1.3. add_path usage |
|
50 |
+ 1.4. add_path(user) usage |
|
51 |
+ 1.5. add_path(user, parameters) usage |
|
52 |
+ 1.6. add_path_received() usage |
|
53 |
+ 1.7. add_path_received(user) usage |
|
54 |
+ 1.8. add_path_received(user, parameters) usage |
|
54 | 55 |
|
55 | 56 |
Chapter 1. Admin Guide |
56 | 57 |
|
... | ... |
@@ -58,7 +59,7 @@ Chapter 1. Admin Guide |
58 | 59 |
|
59 | 60 |
1. Overview |
60 | 61 |
|
61 |
- 1.1. Path insertion for registrations |
|
62 |
+ 1.1. Path Insertion For Registrations |
|
62 | 63 |
1.2. Outbound routing to NAT'ed UACs |
63 | 64 |
|
64 | 65 |
2. Dependencies |
... | ... |
@@ -81,7 +82,7 @@ Chapter 1. Admin Guide |
81 | 82 |
|
82 | 83 |
1. Overview |
83 | 84 |
|
84 |
- 1.1. Path insertion for registrations |
|
85 |
+ 1.1. Path Insertion For Registrations |
|
85 | 86 |
1.2. Outbound routing to NAT'ed UACs |
86 | 87 |
|
87 | 88 |
This module is designed to be used at intermediate sip proxies like |
... | ... |
@@ -91,7 +92,7 @@ Chapter 1. Admin Guide |
91 | 92 |
mechanism for evaluating this parameter in subsequent requests and to |
92 | 93 |
set the destination URI according to it. |
93 | 94 |
|
94 |
-1.1. Path insertion for registrations |
|
95 |
+1.1. Path Insertion For Registrations |
|
95 | 96 |
|
96 | 97 |
For registrations in a scenario like “[UAC] -> [P1] -> [REG]”, the |
97 | 98 |
"path" module can be used at the intermediate proxy P1 to insert a Path |
... | ... |
@@ -110,6 +111,15 @@ Chapter 1. Admin Guide |
110 | 111 |
If the function is called with a username, it's included in the |
111 | 112 |
Path URI too. |
112 | 113 |
|
114 |
+ Note that some SIP registrars may check if header Supported includes |
|
115 |
+ 'path'. It can be added in Kamailio.cfg using append_hf() from textops |
|
116 |
+ module. |
|
117 |
+ |
|
118 |
+ Example 1.1. Add Supported header |
|
119 |
+... |
|
120 |
+append_hf("Supported: path\r\n"); |
|
121 |
+... |
|
122 |
+ |
|
113 | 123 |
1.2. Outbound routing to NAT'ed UACs |
114 | 124 |
|
115 | 125 |
If the NAT'ed address of an UAC is passed to the registrar, the |
... | ... |
@@ -152,7 +162,7 @@ Chapter 1. Admin Guide |
152 | 162 |
|
153 | 163 |
Default value is 0. |
154 | 164 |
|
155 |
- Example 1.1. Set use_received parameter |
|
165 |
+ Example 1.2. Set use_received parameter |
|
156 | 166 |
... |
157 | 167 |
modparam("path", "use_received", 1) |
158 | 168 |
... |
... | ... |
@@ -181,7 +191,7 @@ modparam("path", "use_received", 1) |
181 | 191 |
|
182 | 192 |
This function can be used from REQUEST_ROUTE. |
183 | 193 |
|
184 |
- Example 1.2. add_path usage |
|
194 |
+ Example 1.3. add_path usage |
|
185 | 195 |
... |
186 | 196 |
if (!add_path()) { |
187 | 197 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -199,7 +209,7 @@ if (!add_path()) { |
199 | 209 |
|
200 | 210 |
This function can be used from REQUEST_ROUTE. |
201 | 211 |
|
202 |
- Example 1.3. add_path(user) usage |
|
212 |
+ Example 1.4. add_path(user) usage |
|
203 | 213 |
... |
204 | 214 |
if (!add_path("loadbalancer")) { |
205 | 215 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -221,7 +231,7 @@ if (!add_path("loadbalancer")) { |
221 | 231 |
|
222 | 232 |
This function can be used from REQUEST_ROUTE. |
223 | 233 |
|
224 |
- Example 1.4. add_path(user, parameters) usage |
|
234 |
+ Example 1.5. add_path(user, parameters) usage |
|
225 | 235 |
... |
226 | 236 |
if (!add_path("loadbalancer", "ob")) { |
227 | 237 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -238,7 +248,7 @@ if (!add_path("loadbalancer", "ob")) { |
238 | 248 |
|
239 | 249 |
This function can be used from REQUEST_ROUTE. |
240 | 250 |
|
241 |
- Example 1.5. add_path_received() usage |
|
251 |
+ Example 1.6. add_path_received() usage |
|
242 | 252 |
... |
243 | 253 |
if (!add_path_received()) { |
244 | 254 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -255,7 +265,7 @@ if (!add_path_received()) { |
255 | 265 |
|
256 | 266 |
This function can be used from REQUEST_ROUTE. |
257 | 267 |
|
258 |
- Example 1.6. add_path_received(user) usage |
|
268 |
+ Example 1.7. add_path_received(user) usage |
|
259 | 269 |
... |
260 | 270 |
if (!add_path_received("inbound")) { |
261 | 271 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -272,7 +282,7 @@ if (!add_path_received("inbound")) { |
272 | 282 |
|
273 | 283 |
This function can be used from REQUEST_ROUTE. |
274 | 284 |
|
275 |
- Example 1.7. add_path_received(user, parameters) usage |
|
285 |
+ Example 1.8. add_path_received(user, parameters) usage |
|
276 | 286 |
... |
277 | 287 |
if (!add_path_received("inbound", "ob")) { |
278 | 288 |
sl_send_reply("503", "Internal Path Error"); |
... | ... |
@@ -369,7 +369,7 @@ kamcmd cfg.set_now_string pipelimit reply_reason "Limiting" |
369 | 369 |
ratelimit module for details on each algorithm. |
370 | 370 |
* limit - the integer or pseudovariable with the limit value. |
371 | 371 |
|
372 |
- This function can be used from REQUEST_ROUTE. |
|
372 |
+ This function can be used from ANY_ROUTE. |
|
373 | 373 |
|
374 | 374 |
Example 1.12. pl_check usage |
375 | 375 |
... |
... | ... |
@@ -437,7 +437,8 @@ with unexpected retcode=$var(check_result)\n"); |
437 | 437 |
* min - the minimum value of "Retry-After" header. |
438 | 438 |
* max - the maximum value of "Retry-After" header. |
439 | 439 |
|
440 |
- This function can be used from REQUEST_ROUTE. |
|
440 |
+ This function can be used from |
|
441 |
+ REQUEST_ROUTE|BRANCH_ROUTE|FAILURE_ROUTE|ONSEND_ROUTE. |
|
441 | 442 |
|
442 | 443 |
Example 1.13. pl_drop usage |
443 | 444 |
... |
... | ... |
@@ -121,7 +121,7 @@ modparam("rtimer", "timer", "name=ta;interval=10;mode=1;") |
121 | 121 |
modparam("rtimer", "exec", "timer=ta;route=8") |
122 | 122 |
|
123 | 123 |
route[8] { |
124 |
- xlog("timer routine: time is %TF\n"); |
|
124 |
+ xlog("timer routine: time is $TF\n"); |
|
125 | 125 |
# delete from my sql cache table entries older than 2H |
126 | 126 |
sql_query("delete from kamailio_cache where last_updated<$TS-3600"); |
127 | 127 |
} |
... | ... |
@@ -75,8 +75,8 @@ Carsten Bock |
75 | 75 |
5.7. rtpproxy_stream2uac(prompt_name, count), |
76 | 76 |
5.8. rtpproxy_stream2uas(prompt_name, count) |
77 | 77 |
5.9. rtpproxy_stop_stream2uac(), |
78 |
- 5.10. start_recording() |
|
79 |
- 5.11. rtpproxy_stop_stream2uas(prompt_name, count) |
|
78 |
+ 5.10. rtpproxy_stop_stream2uas() |
|
79 |
+ 5.11. start_recording() |
|
80 | 80 |
|
81 | 81 |
6. Exported Pseudo Variables |
82 | 82 |
|
... | ... |
@@ -109,10 +109,11 @@ Carsten Bock |
109 | 109 |
1.16. rtpproxy_destroy usage |
110 | 110 |
1.17. rtpproxy_manage usage |
111 | 111 |
1.18. rtpproxy_stream2xxx usage |
112 |
- 1.19. start_recording usage |
|
113 |
- 1.20. $rtpstat-Usage |
|
114 |
- 1.21. nh_enable_rtpp usage |
|
115 |
- 1.22. nh_show_rtpp usage |
|
112 |
+ 1.19. rtpproxy_stop_stream2uas usage |
|
113 |
+ 1.20. start_recording usage |
|
114 |
+ 1.21. $rtpstat-Usage |
|
115 |
+ 1.22. nh_enable_rtpp usage |
|
116 |
+ 1.23. nh_show_rtpp usage |
|
116 | 117 |
|
117 | 118 |
Chapter 1. Admin Guide |
118 | 119 |
|
... | ... |
@@ -150,8 +151,8 @@ Chapter 1. Admin Guide |
150 | 151 |
5.7. rtpproxy_stream2uac(prompt_name, count), |
151 | 152 |
5.8. rtpproxy_stream2uas(prompt_name, count) |
152 | 153 |
5.9. rtpproxy_stop_stream2uac(), |
153 |
- 5.10. start_recording() |
|
154 |
- 5.11. rtpproxy_stop_stream2uas(prompt_name, count) |
|
154 |
+ 5.10. rtpproxy_stop_stream2uas() |
|
155 |
+ 5.11. start_recording() |
|
155 | 156 |
|
156 | 157 |
6. Exported Pseudo Variables |
157 | 158 |
|
... | ... |
@@ -415,8 +416,8 @@ xlog("L_INFO", "Chose rtpp instance $var(RTP_INSTANCE)\n"); |
415 | 416 |
5.7. rtpproxy_stream2uac(prompt_name, count), |
416 | 417 |
5.8. rtpproxy_stream2uas(prompt_name, count) |
417 | 418 |
5.9. rtpproxy_stop_stream2uac(), |
418 |
- 5.10. start_recording() |
|
419 |
- 5.11. rtpproxy_stop_stream2uas(prompt_name, count) |
|
419 |
+ 5.10. rtpproxy_stop_stream2uas() |
|
420 |
+ 5.11. start_recording() |
|
420 | 421 |
|
421 | 422 |
5.1. set_rtp_proxy_set(setid) |
422 | 423 |
|
... | ... |
@@ -714,7 +715,23 @@ rtpproxy_manage(); |
714 | 715 |
|
715 | 716 |
These functions can be used from REQUEST_ROUTE, ONREPLY_ROUTE. |
716 | 717 |
|
717 |
-5.10. start_recording() |
|
718 |
+5.10. rtpproxy_stop_stream2uas() |
|
719 |
+ |
|
720 |
+ See function rtpproxy_stop_stream2uac(). |
|
721 |
+ |
|
722 |
+ Example 1.19. rtpproxy_stop_stream2uas usage |
|
723 |
+... |
|
724 |
+ if (is_method("INVITE")) { |
|
725 |
+ rtpproxy_offer(); |
|
726 |
+ if (is_audio_on_hold()) { |
|
727 |
+ rtpproxy_stream2uas("/var/rtpproxy/prompts/music_on_hold", "-1"); |
|
728 |
+ } else { |
|
729 |
+ rtpproxy_stop_stream2uas(); |
|
730 |
+ }; |
|
731 |
+ }; |
|
732 |
+... |
|
733 |
+ |
|
734 |
+5.11. start_recording() |
|
718 | 735 |
|
719 | 736 |
This function will send a signal to the RTP-Proxy to record the RTP |
720 | 737 |
stream on the RTP-Proxy. This function is only supported by Sippy |
... | ... |
@@ -722,15 +739,11 @@ rtpproxy_manage(); |
722 | 739 |
|
723 | 740 |
This function can be used from REQUEST_ROUTE and ONREPLY_ROUTE. |
724 | 741 |
|
725 |
- Example 1.19. start_recording usage |
|
742 |
+ Example 1.20. start_recording usage |
|
726 | 743 |
... |
727 | 744 |
start_recording(); |
728 | 745 |
... |
729 | 746 |
|
730 |
-5.11. rtpproxy_stop_stream2uas(prompt_name, count) |
|
731 |
- |
|
732 |
- See function rtpproxy_stop_stream2uac(prompt_name, count). |
|
733 |
- |
|
734 | 747 |
6. Exported Pseudo Variables |
735 | 748 |
|
736 | 749 |
6.1. $rtpstat |
... | ... |
@@ -742,7 +755,7 @@ start_recording(); |
742 | 755 |
packet-counters. The statistics must be retrieved before the session is |
743 | 756 |
deleted (before unforce_rtpproxy()). |
744 | 757 |
|
745 |
- Example 1.20. $rtpstat-Usage |
|
758 |
+ Example 1.21. $rtpstat-Usage |
|
746 | 759 |
... |
747 | 760 |
append_hf("X-RTP-Statistics: $rtpstat\r\n"); |
748 | 761 |
... |
... | ... |
@@ -765,7 +778,7 @@ start_recording(); |
765 | 778 |
NOTE: if a rtpproxy is defined multiple times (in the same or different |
766 | 779 |
sets), all of its instances will be enabled/disabled. |
767 | 780 |
|
768 |
- Example 1.21. nh_enable_rtpp usage |
|
781 |
+ Example 1.22. nh_enable_rtpp usage |
|
769 | 782 |
... |
770 | 783 |
$ kamctl fifo nh_enable_rtpp udp:192.168.2.133:8081 0 |
771 | 784 |
... |
... | ... |
@@ -777,7 +790,7 @@ $ kamctl fifo nh_enable_rtpp udp:192.168.2.133:8081 0 |
777 | 790 |
|
778 | 791 |
No parameter. |
779 | 792 |
|
780 |
- Example 1.22. nh_show_rtpp usage |
|
793 |
+ Example 1.23. nh_show_rtpp usage |
|
781 | 794 |
... |
782 | 795 |
$ kamctl fifo nh_show_rtpp |
783 | 796 |
... |
... | ... |
@@ -290,6 +290,26 @@ if(sdp_with_active_media("video")) |
290 | 290 |
Remove the streams that match on 'm=type ...' line. The parameter can |
291 | 291 |
be static string or variable holding the media type. |
292 | 292 |
|
293 |
+ Note: If this is executed on a request, the callee should reply without |
|
294 |
+ the Media too. However, RFC 3264 mandates, that the reply should |
|
295 |
+ contain the exact same number of "m=" lines as the request. |
|
296 |
+ |
|
297 |
+ |
|
298 |
+ 6 Generating the Answer |
|
299 |
+ |
|
300 |
+ [...] |
|
301 |
+ |
|
302 |
+ For each "m=" line in the offer, there MUST be a corresponding "m=" |
|
303 |
+ line in the answer. The answer MUST contain exactly the same number of |
|
304 |
+ "m=" lines as the offer. This allows for streams to be matched up based |
|
305 |
+ on their order. This implies that if the offer contained zero "m=" |
|
306 |
+ lines, the answer MUST contain zero "m=" lines. |
|
307 |
+ |
|
308 |
+ --RFC 3264 |
|
309 |
+ |
|
310 |
+ So this may not work with all Endpoints, especially if they follow RFC |
|
311 |
+ 3264 precisely (e.g. JSSIP). |
|
312 |
+ |
|
293 | 313 |
This function can be used from ANY_ROUTE. |
294 | 314 |
|
295 | 315 |
Example 1.8. sdp_remove_media usage |
... | ... |
@@ -1571,7 +1571,7 @@ modparam("tm", "dns_reuse_rcv_socket", 1) |
1571 | 1571 |
4.46. xavp_contact (string) |
1572 | 1572 |
|
1573 | 1573 |
The name of XAVP storing the attributes per contact. This must be the |
1574 |
- same as the usrloc parameter xavp_contacts. |
|
1574 |
+ same as the usrloc parameter xavp_contact. |
|
1575 | 1575 |
|
1576 | 1576 |
Default value is “NULL”. |
1577 | 1577 |
|