1IMS Usrloc SCSCF Module
2
3Jason Penton
4
5 Smile Communications
6
7Edited by
8
9Richard Good
10
11 Smile Communications
12
13Yasin Caner
14
15 Copyright © 2012 Smile Communications
16 __________________________________________________________________
17
18 Table of Contents
19
20 1. Admin Guide
21
22 1. Overview
23 2. Dependencies
24
25 2.1. Kamailio Modules
26
27 3. Parameters
28
29 3.1. db_url (string)
30 3.2. db_mode (string)
31 3.3. maxcontact (int)
32 3.4. maxcontact_3gpp (int)
33 3.5. maxcontact_behaviour (int)
34 3.6. max_subscribes(int)
35 3.7. sub_dialog_hash_size(int)
36 3.8. timer_procs(int)
37 3.9. timer_interval (int)
38 3.10. desc_time_order (int)
39 3.11. matching_mode (int)
40 3.12. cseq_delay (int)
41 3.13. fetch_rows(int)
42 3.14. hash_size (string)
43 3.15. subs_hash_size (int)
44 3.16. contacts_hash_size (integer)
45 3.17. nat_bflag (integer)
46 3.18. contact_delete_delay (int)
47 3.19. support_wildcardPSI (int)
48 3.20. unreg_validity (int)
49 3.21. user_data_xsd (string)
50
51 4. RPC Commands
52
53 4.1. ulscscf.status
54 4.2. ulscscf.showimpu
55 4.3. ulscscf.snapshot
56
57 2. Frequently Asked Questions
58
59 List of Examples
60
61 1.1. Set db_url parameter
62 1.2. Set db_mode parameter
63 1.3. Set maxcontact parameter
64 1.4. Set maxcontact_3gpp parameter
65 1.5. Set maxcontact_behaviour parameter
66 1.6. Set subscription_expires_range parameter
67 1.7. Set sub_dialog_hash_size parameter
68 1.8. Set timer_procs parameter
69 1.9. Set timer_interval parameter
70 1.10. Set desc_time_order parameter
71 1.11. Set matching_mode parameter
72 1.12. Set cseq_delay parameter
73 1.13. Set fetch_rows parameter
74 1.14. Set hash_size parameter
75 1.15. Set subs_hash_size parameter
76 1.16. Set contacts_hash_size parameter
77 1.17. Set nat_bflag parameter
78 1.18. Set contact_delete_delay parameter
79 1.19. Set support_wildcardPSI parameter
80 1.20. Set unreg_validity parameter
81 1.21. Set unreg_validity parameter
82
83Chapter 1. Admin Guide
84
85 Table of Contents
86
87 1. Overview
88 2. Dependencies
89
90 2.1. Kamailio Modules
91
92 3. Parameters
93
94 3.1. db_url (string)
95 3.2. db_mode (string)
96 3.3. maxcontact (int)
97 3.4. maxcontact_3gpp (int)
98 3.5. maxcontact_behaviour (int)
99 3.6. max_subscribes(int)
100 3.7. sub_dialog_hash_size(int)
101 3.8. timer_procs(int)
102 3.9. timer_interval (int)
103 3.10. desc_time_order (int)
104 3.11. matching_mode (int)
105 3.12. cseq_delay (int)
106 3.13. fetch_rows(int)
107 3.14. hash_size (string)
108 3.15. subs_hash_size (int)
109 3.16. contacts_hash_size (integer)
110 3.17. nat_bflag (integer)
111 3.18. contact_delete_delay (int)
112 3.19. support_wildcardPSI (int)
113 3.20. unreg_validity (int)
114 3.21. user_data_xsd (string)
115
116 4. RPC Commands
117
118 4.1. ulscscf.status
119 4.2. ulscscf.showimpu
120 4.3. ulscscf.snapshot
121
1221. Overview
123
124 This module serves as a storage engine for SCSCF contacts, much like
125 the standard Kamailio module that is usrloc, is a storage engine for
126 standard SIP contacts.
127
1282. Dependencies
129
130 2.1. Kamailio Modules
131
1322.1. Kamailio Modules
133
134 The following modules must be loaded before this module:
135 * TM
136 * Presence
137 * IMS dialog
138
1393. Parameters
140
141 3.1. db_url (string)
142 3.2. db_mode (string)
143 3.3. maxcontact (int)
144 3.4. maxcontact_3gpp (int)
145 3.5. maxcontact_behaviour (int)
146 3.6. max_subscribes(int)
147 3.7. sub_dialog_hash_size(int)
148 3.8. timer_procs(int)
149 3.9. timer_interval (int)
150 3.10. desc_time_order (int)
151 3.11. matching_mode (int)
152 3.12. cseq_delay (int)
153 3.13. fetch_rows(int)
154 3.14. hash_size (string)
155 3.15. subs_hash_size (int)
156 3.16. contacts_hash_size (integer)
157 3.17. nat_bflag (integer)
158 3.18. contact_delete_delay (int)
159 3.19. support_wildcardPSI (int)
160 3.20. unreg_validity (int)
161 3.21. user_data_xsd (string)
162
1633.1. db_url (string)
164
165 database URL for storing impu/contacts records
166
167 Example 1.1. Set db_url parameter
168 modparam("ims_usrloc_scscf", "db_url", "mysql//username:password@localho
169st/scscf")
170
1713.2. db_mode (string)
172
173 This is the database mode to be used for the SCSCF usrloc data
174 persistent storage. Currently this module supports the Write-Back
175 scheme only.
176 * 0 - This disables database completely. Only memory will be used.
177 Contacts will not survive restart.
178 * 1 - Write-Backend scheme. All changes are made to memory and
179 database synchronization is done in the timer
180
181 Default value is 0.
182
183 Example 1.2. Set db_mode parameter
184...
185 modparam("ims_usrloc_scscf", "db_mode", 1)
186
1873.3. maxcontact (int)
188
189 The parameter can be used to limit the number of contact for each impu
190
191 Default value is 0(max)
192
193 Example 1.3. Set maxcontact parameter
194...
195 modparam("ims_usrloc_scscf", "maxcontact", 10)
196
1973.4. maxcontact_3gpp (int)
198
199 The parameter can be used to limit the number of 3GPP contact for each
200 impu
201
202 Default value is 0.(max)
203
204 Example 1.4. Set maxcontact_3gpp parameter
205...
206 modparam("ims_usrloc_scscf", "maxcontact_3gpp", 0)
207
2083.5. maxcontact_behaviour (int)
209
210 Behaviour of usrloc , after impu reach max contacts limit.
211 * 0 - Disabled
212 * 1 - Reject after reaching limit.
213 * 2 - Overwrite
214
215 Default value is 0.
216
217 Example 1.5. Set maxcontact_behaviour parameter
218...
219 modparam("ims_usrloc_scscf", "maxcontact_behaviour", 2)
220
2213.6. max_subscribes(int)
222
223 Max number of subscribes allowed per watcher for each IMPU
224
225 Default value is 0.
226
227 Example 1.6. Set subscription_expires_range parameter
228...
229 modparam("ims_usrloc_scscf", "max_subscribes", 2)
230
2313.7. sub_dialog_hash_size(int)
232
233 Subscriber dialog hash table size
234
235 Default value is 10.
236
237 Example 1.7. Set sub_dialog_hash_size parameter
238...
239 modparam("ims_usrloc_scscf", "sub_dialog_hash_size", 512)
240
2413.8. timer_procs(int)
242
243 process number of handling registeration
244
245 Default value is 0
246
247 Example 1.8. Set timer_procs parameter
248...
249 modparam("ims_usrloc_scscf", "timer_procs", 5)
250
2513.9. timer_interval (int)
252
253 Number of seconds between two timer runs. The module uses a timer to
254 delete expired contacts, synchronize with database and other tasks,
255 that need to be run periodically
256
257 Default value is 90
258
259 Example 1.9. Set timer_interval parameter
260...
261 modparam("ims_usrloc_scscf", "timer_interval", 120)
262
2633.10. desc_time_order (int)
264
265 If the user's contacts should be kept timestamp ordered; otherwise the
266 contact will be ordered based on q value. Non 0 value means true.
267
268 Default value is timestamp ordering not enabled
269
270 Example 1.10. Set desc_time_order parameter
271...
272 modparam("ims_usrloc_scscf", "desc_time_order", 1)
273
2743.11. matching_mode (int)
275
276 What contact matching algorithm to be used.
277 * 0 - Contact Only matching
278 * 1 - Contact and Callid Matching
279 * 2 - Contact and Path header matching
280 * 3 - Only contact IP and Port Matching
281
282 Default value is 0.
283
284 Example 1.11. Set matching_mode parameter
285...
286 modparam("ims_usrloc_scscf", "matching_mode", 0)
287
2883.12. cseq_delay (int)
289
290 Delay (in seconds) for accepting as retransmissions register requests
291 with same Call-ID and Cseq.
292
293 Default value is 20.
294
295 Example 1.12. Set cseq_delay parameter
296...
297 modparam("ims_usrloc_scscf", "cseq_delay", 20)
298
2993.13. fetch_rows(int)
300
301 The number of the rows to be fetched at once from database when loading
302 the location records.
303
304 Default value is 2000.
305
306 Example 1.13. Set fetch_rows parameter
307...
308 modparam("ims_usrloc_scscf", "fetch_rows", 3000)
309
3103.14. hash_size (string)
311
312 The number of entries of the hash table used by usrloc
313
314 Default value 512
315
316 Example 1.14. Set hash_size parameter
317...
318 modparam("ims_usrloc_scscf", "hash_size", 512)
319
3203.15. subs_hash_size (int)
321
322 The number of entries of the hash table used by usrloc to store the ims
323 subscribe records
324
325 Default value 512
326
327 Example 1.15. Set subs_hash_size parameter
328...
329 modparam("ims_usrloc_scscf", "subs_hash_size", 512)
330
3313.16. contacts_hash_size (integer)
332
333 The number of entries of the hash table used by usrloc to store the
334 contact records
335
336 Default value is 512
337
338 Example 1.16. Set contacts_hash_size parameter
339...
340 modparam("ims_usrloc_scscf", "contacts_hash_size", 512)
341
3423.17. nat_bflag (integer)
343
344 NAT marker to handle natted registration
345
346 Default value is 0
347
348 Example 1.17. Set nat_bflag parameter
349 modparam("ims_usrloc_scscf", "nat_bflag", 3)
350
3513.18. contact_delete_delay (int)
352
353 If contact is put into delay delete state ,this is how long we delay
354 before deleting
355
356 Default value is 30
357
358 Example 1.18. Set contact_delete_delay parameter
359 modparam("ims_usrloc_scscf", "contact_delete_delay", 32)
360
3613.19. support_wildcardPSI (int)
362
363 Wildcard Public-Service-Identity (RFC5002). it will be actived by
364 setting 1
365
366 Default value is 0.(disabled)
367
368 Example 1.19. Set support_wildcardPSI parameter
369 modparam("ims_usrloc_scscf", "support_wildcardPSI", 0)
370
3713.20. unreg_validity (int)
372
373 Default validity time in seconds for unregister assignment to SCSCF
374
375 Default value is 1800
376
377 Example 1.20. Set unreg_validity parameter
378 modparam("ims_usrloc_scscf", "unreg_validity", 0)
379
3803.21. user_data_xsd (string)
381
382 Default value is 1800
383
384 Example 1.21. Set unreg_validity parameter
385 modparam("ims_usrloc_scscf", "user_data_xsd", "/usr/local/etc/kamailio/C
386xDataType_Rel6.xsd")
387
3884. RPC Commands
389
390 4.1. ulscscf.status
391 4.2. ulscscf.showimpu
392 4.3. ulscscf.snapshot
393
394 Exported RPC commands.
395
3964.1. ulscscf.status
397
3984.2. ulscscf.showimpu
399
4004.3. ulscscf.snapshot
401
402Chapter 2. Frequently Asked Questions
403
404 2.1. Where can I find more about Kamailio?
405 2.2. Where can I post a question about this module?
406 2.3. How can I report a bug?
407
408 2.1.
409
410 Where can I find more about Kamailio?
411
412 Take a look at https://www.kamailio.org/.
413
414 2.2.
415
416 Where can I post a question about this module?
417
418 First at all check if your question was already answered on one of our
419 mailing lists:
420 * User Mailing List -
421 https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
422 * Developer Mailing List -
423 https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
424
425 E-mails regarding any stable Kamailio release should be sent to
426 <sr-users@lists.kamailio.org> and e-mails regarding development
427 versions should be sent to <sr-dev@lists.kamailio.org>.
428
429 2.3.
430
431 How can I report a bug?
432
433 Please follow the guidelines provided at:
434 https://github.com/kamailio/kamailio/issues.
435