Browse code

modules_k/*: moved k modules in directory modules/

Daniel-Constantin Mierla authored on 20/01/2013 11:57:52
Showing 1 changed files
1 1
deleted file mode 100644
... ...
@@ -1,658 +0,0 @@
1
-H350 Module
2
-
3
-Christian Schlatter
4
-
5
-   University of North Carolina
6
-   <cs@unc.edu>
7
-
8
-   Copyright © 2007 University of North Carolina
9
-     __________________________________________________________________
10
-
11
-   Table of Contents
12
-
13
-   1. Admin Guide
14
-
15
-        1. Overview
16
-
17
-              1.1. Example H.350 commObject LDAP Entry
18
-
19
-        2. Dependencies
20
-
21
-              2.1. Kamailio Modules
22
-              2.2. External Libraries or Applications
23
-
24
-        3. Parameters
25
-
26
-              3.1. ldap_session (string)
27
-              3.2. base_dn (string)
28
-              3.3. search_scope (string)
29
-
30
-        4. Functions
31
-
32
-              4.1. h350_sipuri_lookup(sip_uri)
33
-              4.2. h350_auth_lookup(auth_username,
34
-                      "username_avp_spec/pwd_avp_spec")
35
-
36
-              4.3. h350_result_call_preferences(avp_name_prefix)
37
-              4.4. h350_result_service_level(avp_name_prefix)
38
-
39
-   Resources
40
-
41
-   List of Examples
42
-
43
-   1.1. Example H.350 commObject storing SIP account data
44
-   1.2. ldap_session parameter usage
45
-   1.3. base_dn parameter usage
46
-   1.4. search_scope parameter usage
47
-   1.5. Example Usage
48
-   1.6. Example Usage
49
-   1.7. Example H.350 callPreferenceURI simple call forwarding rules
50
-   1.8. Example Usage
51
-   1.9. Example SIPIdentityServiceLevel values and resulting AVPs
52
-   1.10. Example Usage
53
-
54
-Chapter 1. Admin Guide
55
-
56
-   Table of Contents
57
-
58
-   1. Overview
59
-
60
-        1.1. Example H.350 commObject LDAP Entry
61
-
62
-   2. Dependencies
63
-
64
-        2.1. Kamailio Modules
65
-        2.2. External Libraries or Applications
66
-
67
-   3. Parameters
68
-
69
-        3.1. ldap_session (string)
70
-        3.2. base_dn (string)
71
-        3.3. search_scope (string)
72
-
73
-   4. Functions
74
-
75
-        4.1. h350_sipuri_lookup(sip_uri)
76
-        4.2. h350_auth_lookup(auth_username,
77
-                "username_avp_spec/pwd_avp_spec")
78
-
79
-        4.3. h350_result_call_preferences(avp_name_prefix)
80
-        4.4. h350_result_service_level(avp_name_prefix)
81
-
82
-1. Overview
83
-
84
-   1.1. Example H.350 commObject LDAP Entry
85
-
86
-   The Kamailio H350 module enables an Kamailio SIP proxy server to access
87
-   SIP account data stored in an LDAP [RFC4510] directory containing H.350
88
-   [H.350] commObjects. ITU-T Recommendation H.350 standardizes LDAP
89
-   object classes to store Real-Time Communication (RTC) account data. In
90
-   particular, H.350.4 [H.350.4] defines an object class called
91
-   sipIdentity that includes attribute specifications for SIP account data
92
-   like SIP URI, SIP digest username/password, or service level. This
93
-   allows to store SIP account data in a vendor neutral way and lets
94
-   different entities, like SIP proxies, provisioning, or billing
95
-   applications, access the data in a standardized format.
96
-
97
-   The ViDe H.350 Cookbook [vide-h.350-cb] is a good reference for
98
-   deploying an H.350 directory. Besides general information on H.350,
99
-   LDAP, and related standards, this document explains how to set up an
100
-   H.350/LDAP directory and discusses different deployment scenarios.
101
-
102
-   The H350 module uses the Kamailio LDAP module to import H.350 attribute
103
-   values into the Kamailio routing script variable space. The module
104
-   exports functions to parse and store the H.350 attribute values from
105
-   the Kamailio routing script. It allows a script writer to implement
106
-   H.350 based SIP digest authentication, call forwarding, SIP URI alias
107
-   to AOR rewriting, and service level parsing.
108
-
109
-1.1. Example H.350 commObject LDAP Entry
110
-
111
-   The following example shows a typical H.350 commObject LDAP entry
112
-   storing SIP account data.
113
-
114
-   Example 1.1. Example H.350 commObject storing SIP account data
115
-Attribute Name                Attribute Value(s)
116
-
117
-# LDAP URI identifying the owner of this commObject, typically
118
-# points to an entry in the enterprise directory
119
-commOwner       ldap://dir.example.com/dc=example,dc=com??one?(uid=bob)
120
-
121
-# Unique identifier for this commObject, used for referencing
122
-# this object e.g. from the enterprise directory
123
-commUniqueId                  298217asdjgj213
124
-
125
-# Determines if this commObject should be listed on white pages
126
-commPrivate                   false
127
-
128
-# Valid SIP URIs for this account (can be used to store alias SIP URIs
129
-# like DIDs as well)
130
-SIPIdentitySIPURI             sip:bob@example.com
131
-                              sip:bob@alias.example.com
132
-                              sip:+1919123456@alias.example.com
133
-# SIP digest username
134
-SIPIdentityUserName           bob
135
-
136
-# SIP digest password
137
-SIPIdentityPassword           pwd
138
-
139
-# SIP proxy address
140
-SIPIdentityProxyAddress       sip.example.com
141
-
142
-# SIP registrar address
143
-SIPIdentityRegistrarAddress   sip.example.com
144
-
145
-# Call preferences: Forward to voicemail on no response
146
-# after 20 seconds and on busy
147
-callPreferenceURI             sip:bob@voicemail.example.com n:20000
148
-                              sip:bob@voicemail.example.com b
149
-
150
-# Account service level(s)
151
-SIPIdentityServiceLevel       long_distance
152
-                              conferencing
153
-
154
-# H.350 object classes
155
-objectClass                   top
156
-                              commObject
157
-                              SIPIdentity
158
-                              callPreferenceURIObject
159
-
160
-2. Dependencies
161
-
162
-   2.1. Kamailio Modules
163
-   2.2. External Libraries or Applications
164
-
165
-2.1. Kamailio Modules
166
-
167
-   The module depends on the following modules (the listed modules must be
168
-   loaded before this module):
169
-     * LDAP
170
-
171
-2.2. External Libraries or Applications
172
-
173
-   The following libraries or applications must be installed before
174
-   running Kamailio with this module loaded:
175
-     * OpenLDAP library (libldap), libldap header files (libldap-dev) are
176
-       needed for compilation
177
-
178
-3. Parameters
179
-
180
-   3.1. ldap_session (string)
181
-   3.2. base_dn (string)
182
-   3.3. search_scope (string)
183
-
184
-3.1. ldap_session (string)
185
-
186
-   Name of the LDAP session to be used for H.350 queries, as defined in
187
-   the LDAP module configuration file.
188
-
189
-   Default value: ""
190
-
191
-   Example 1.2. ldap_session parameter usage
192
-modparam("h350", "ldap_session", "h350");
193
-
194
-3.2. base_dn (string)
195
-
196
-   Base LDAP DN to start LDAP search for H.350 entries. For best
197
-   performance, this should be set to the direct ancestor of the H.350
198
-   objects.
199
-
200
-   Default value: ""
201
-
202
-   Example 1.3. base_dn parameter usage
203
-modparam("h350", "base_dn", "ou=h350,dc=example,dc=com");
204
-
205
-3.3. search_scope (string)
206
-
207
-   LDAP search scope for H.350 queries, one of "one", "base", or "sub".
208
-
209
-   Default value: "one"
210
-
211
-   Example 1.4. search_scope parameter usage
212
-modparam("h350", "search_scope", "sub");
213
-
214
-4. Functions
215
-
216
-   4.1. h350_sipuri_lookup(sip_uri)
217
-   4.2. h350_auth_lookup(auth_username, "username_avp_spec/pwd_avp_spec")
218
-   4.3. h350_result_call_preferences(avp_name_prefix)
219
-   4.4. h350_result_service_level(avp_name_prefix)
220
-
221
-4.1. h350_sipuri_lookup(sip_uri)
222
-
223
-   This function performs an LDAP search query for an H.350 commObject
224
-   with a SIPIdentitySIPURI of sip_uri. The sip_uri parameter first gets
225
-   escaped according the rules for LDAP filter strings. The result of the
226
-   LDAP search is stored internally and can be accessed either by one of
227
-   the h350_result* or one of the ldap_result* functions from the Kamailio
228
-   LDAP module.
229
-
230
-   The function returns -1 (FALSE) for internal errors, and -2 (FALSE) if
231
-   no H.350 commObject was found with a matching sip_uri. n > 0 (TRUE) is
232
-   returned if n H.350 commObjects were found.
233
-
234
-   This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
235
-   FAILURE_ROUTE and BRANCH_ROUTE.
236
-
237
-   Function Parameters:
238
-
239
-   sip_uri
240
-          H.350 SIPIdentitySIPURI to search for in directory. Included
241
-          Kamailio variables do get expanded.
242
-
243
-   Return Values:
244
-
245
-   n > 0 (TRUE):
246
-
247
-          + n H.350 commObjects found.
248
-
249
-   -1 (FALSE):
250
-
251
-          + Internal error occurred.
252
-
253
-   -2 (FALSE):
254
-
255
-          + No H.350 commObject found.
256
-
257
-   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
258
-   BRANCH_ROUTE, and ONREPLY_ROUTE.
259
-
260
-   Example 1.5. Example Usage
261
-#
262
-# H.350 lookup for callee
263
-#
264
-
265
-if (!h350_sipuri_lookup("sip:$rU@$rd"))
266
-{
267
-    switch ($retcode)
268
-    {
269
-    case -2:
270
-        xlog("L_INFO",
271
-             "h350 callee lookup: no entry found in H.350 directory");
272
-        exit;
273
-    case -1:
274
-        sl_send_reply("500", "Internal server error");
275
-        exit;
276
-    }
277
-}
278
-
279
-# now h350_result* or ldap_result* functions can be used
280
-
281
-4.2. h350_auth_lookup(auth_username, "username_avp_spec/pwd_avp_spec")
282
-
283
-   This function performs an LDAP search query for SIP digest
284
-   authentication credentials in an H.350 directory. The H.350 directory
285
-   is searched for a commObject with SIPIdentityUserName of auth_username.
286
-   If such a commObject is found, the SIP digest authentication username
287
-   and password are stored in AVPs username_avp_spec and pwd_avp_spec,
288
-   respectively. pv_*_authorize functions from AUTH module can then be
289
-   used to perform SIP digest authentication.
290
-
291
-   The function returns 1 (TRUE) if an H.350 commObject was found, -1
292
-   (FALSE) in case of an internal error, and -2 (FALSE) if no matching
293
-   commObject was found.
294
-
295
-   This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
296
-   FAILURE_ROUTE and BRANCH_ROUTE.
297
-
298
-   Function Parameters:
299
-
300
-   auth_username
301
-          H.350 SIPIdentityUserName to search for in directory. Included
302
-          Kamailio variables do get expanded.
303
-
304
-   username_avp_spec
305
-          Specification for authentication username AVP, e.g.
306
-          $avp(s:username).
307
-
308
-   pwd_avp_spec
309
-          Specification for authentication password AVP, e.g. $avp(s:pwd).
310
-
311
-   Return Values:
312
-
313
-   1 (TRUE):
314
-
315
-          + H.350 commObject found and SIP digest authentication
316
-            credentials stored in username_avp_spec and pwd_avp_spec.
317
-
318
-   -1 (FALSE):
319
-
320
-          + Internal error occurred.
321
-
322
-   -2 (FALSE):
323
-
324
-          + No H.350 commObject found.
325
-
326
-   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
327
-   BRANCH_ROUTE, and ONREPLY_ROUTE.
328
-
329
-   Example 1.6. Example Usage
330
-# -- auth params --
331
-modparam("auth", "username_spec", "$avp(s:auth_user)")
332
-modparam("auth", "password_spec", "$avp(s:auth_pwd)")
333
-modparam("auth", "calculate_ha1", 1)
334
-
335
-# -- h350 params --
336
-modparam("h350", "ldap_session", "h350")
337
-modparam("h350", "base_dn", "ou=h350,dc=example,dc=com")
338
-modparam("h350", "search_scope", "one")
339
-
340
-
341
-route[1]
342
-{
343
-    #
344
-    # H.350 based SIP digest authentication
345
-    #
346
-
347
-    # challenge all requests not including an Auth header
348
-    if (!(is_present_hf("Authorization") ||
349
-          is_present_hf("Proxy-Authorization")))
350
-    {
351
-        if (is_method("REGISTER"))
352
-        {
353
-            www_challenge("example.com", "0");
354
-            exit;
355
-        }
356
-        proxy_challenge("example.com", "0");
357
-        exit;
358
-    }
359
-
360
-    # get digest password from H.350 using auth username ($au)
361
-    if (!h350_auth_lookup("$au",
362
-                          "$avp(s:auth_user)/$avp(s:auth_pwd)"))
363
-    {
364
-        switch ($retcode)
365
-        {
366
-        case -2:
367
-            sl_send_reply("401", "Unauthorized");
368
-            exit;
369
-        case -1:
370
-            sl_send_reply("500", "Internal server error");
371
-            exit;
372
-        }
373
-    }
374
-
375
-    # REGISTER requests
376
-    if (is_method("REGISTER"))
377
-    {
378
-        if (!pv_www_authorize("example.com"))
379
-        {
380
-            if ($retcode == -5)
381
-            {
382
-                sl_send_reply("500", "Internal server error");
383
-                exit;
384
-            }
385
-            else {
386
-                www_challenge("example.com", "0");
387
-                exit;
388
-            }
389
-        }
390
-
391
-        consume_credentials();
392
-        xlog("L_INFO",
393
-             "REGISTER request successfully authenticated");
394
-        return(1);
395
-    }
396
-
397
-    # non-REGISTER requests
398
-    if (!pv_proxy_authorize("example.com"))
399
-    {
400
-        if ($retcode == -5)
401
-        {
402
-            sl_send_reply("500", "Internal server error");
403
-            exit;
404
-        }
405
-        else {
406
-            proxy_challenge("example.com", "0");
407
-            exit;
408
-        }
409
-    }
410
-
411
-    consume_credentials();
412
-    xlog("L_INFO", "$rm request successfully authenticated");
413
-    return(1);
414
-}
415
-
416
-4.3. h350_result_call_preferences(avp_name_prefix)
417
-
418
-   This function parses the callPreferenceURI attribute of an H.350
419
-   commObject, which must have been fetched through h350_*_lookup or
420
-   ldap_search. callPreferenceURI is a multi-valued attribute that stores
421
-   call preference rules like e.g. forward-on-busy or
422
-   forward-unconditionally. Directory services architecture for call
423
-   forwarding and preferences [H.350.6] defines a format for simple call
424
-   forwarding rules:
425
-
426
-     target_uri type[:argument]
427
-
428
-   In a SIP environment, target_uri is typically the call forwarding
429
-   rule's target SIP URI, although it could be any type of URI, e.g. an
430
-   HTTP pointer to a CPL script. Four different values are specified for
431
-   type: b for "forward on busy", n for "forward on no answer", u for
432
-   "forward unconditionally", and f for "forward on destination not
433
-   found". The optional argument is a string indicating the time in
434
-   milliseconds after which the call forwarding should occur.
435
-
436
-   Example 1.7. Example H.350 callPreferenceURI simple call forwarding
437
-   rules
438
-# Example 1:
439
-# forward to sip:voicemail@example.com on no answer after 15 seconds:
440
-
441
-callPreferenceURI: sip:voicemail@example.com n:15000
442
-
443
-# Example 2:
444
-# unconditionally forward to sip:alice@example.com:
445
-
446
-callPreferenceURI: sip:alice@example.com u
447
-
448
-# Example 3:
449
-# forward to sip:bob@example.com and sip:alice@example.com
450
-# (forking) on destination not found:
451
-
452
-callPreferenceURI: sip:bob@example.com f
453
-callPreferenceURI: sip:alice@example.com f
454
-
455
-   h350_result_call_preferences stores these call forwarding rules as AVPs
456
-   according to the following rules:
457
-
458
-#
459
-# AVP storing a forwarding rule's target URI
460
-#
461
-
462
-AVP name  = avp_name_prefix + '_' + type
463
-AVP value = target_uri
464
-
465
-#
466
-# AVP storing a forwarding rule's argument
467
-#
468
-
469
-AVP name  = avp_name_prefix + '_' + type + '_t'
470
-AVP value = argument / 1000
471
-
472
-   Example 1 from above would result in two AVPs: $avp("s:prefix_n") =
473
-   "sip:voicemail@example.com" and $avp("s:prefix_n_t") = 15.
474
-
475
-   Example 2: $avp("s:prefix_u") = "sip:alice@example.com".
476
-
477
-   Example 3: $avp("s:prefix_f[1]") = "sip:bob@example.com" and
478
-   $avp("s:prefix_f[2]]") = "sip:alice@example.com".
479
-
480
-   These AVPs can then be used to implement the desired behavior in the
481
-   Kamailio routing script.
482
-
483
-   This function returns the number of successfully parsed simple call
484
-   forwarding rules (TRUE), in case the H.350 callPreferenceURI attribute
485
-   contained one or multiple values matching the simple call forwarding
486
-   rule syntax described above. It returns -1 (FALSE) for internal errors,
487
-   and -2 (FALSE) if none of the rules matched or if no callPreferenceURI
488
-   attribute was found.
489
-
490
-   This function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
491
-   FAILURE_ROUTE and BRANCH_ROUTE.
492
-
493
-   Function Parameters:
494
-
495
-   avp_name_prefix
496
-          Name prefix for call forwarding rule AVPs, as described above.
497
-
498
-   Return Values:
499
-
500
-   n > 0 (TRUE):
501
-
502
-          + n simple call forwarding rules found.
503
-
504
-   -1 (FALSE):
505
-
506
-          + Internal error occurred.
507
-
508
-   -2 (FALSE):
509
-
510
-          + No simple call forwarding rule found, or callPreferenceURI not
511
-            present.
512
-
513
-   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
514
-   BRANCH_ROUTE, and ONREPLY_ROUTE.
515
-
516
-   Example 1.8. Example Usage
517
-#
518
-# H.350 lookup for callee
519
-#
520
-
521
-... h350_sipuri_lookup("sip:$rU@$rd") ...
522
-
523
-#
524
-# store H.350 call preferences in AVP
525
-#
526
-
527
-if (!h350_result_call_preferences("callee_pref_") && ($retcode == -1))
528
-{
529
-    sl_send_reply("500", "Internal server error");
530
-    exit;
531
-}
532
-
533
-# $avp(s:callee_pref_u)   == CFU URI(s)
534
-# $avp(s:callee_pref_n)   == CFNR URI(s)
535
-# $avp(s:callee_pref_n_t) == CFNR timeout in seconds
536
-# $avp(s:callee_pref_b)   == CFB URI(s)
537
-# $avp(s:callee_pref_f)   == CFOFFLINE URI(s)
538
-
539
-#
540
-# Example for forward-unconditionally (CFU)
541
-#
542
-
543
-if (is_avp_set("$avp(s:callee_pref_u)"))
544
-{
545
-    # replace R-URI with CFU URI, g will fetch all CFU URIs
546
-    # --> request can fork
547
-    if (avp_pushto("$ru", "$avp(s:callee_pref_u)/g"))
548
-    {
549
-            avp_delete("$avp(s:callee_pref_u)");
550
-    } else
551
-    {
552
-            sl_send_reply("500", "Internal server error");
553
-            exit;
554
-    }
555
-    sl_send_reply("181", "Call is being forwarded");
556
-    t_relay();
557
-    exit;
558
-}
559
-
560
-4.4. h350_result_service_level(avp_name_prefix)
561
-
562
-   Directory services architecture for SIP [H.350.4] defines a
563
-   multi-valued LDAP attribute named SIPIdentityServiceLevel, which can be
564
-   used to store SIP account service level values in an LDAP directory.
565
-   This function parses the SIPIdentityServiceLevel attribute and stores
566
-   all service level values as AVPs for later retrieval in the Kamailio
567
-   routing script. The function accesses the H.350 commObject fetched by a
568
-   call to h350_*_lookup or ldap_search.
569
-
570
-   The resulting AVPs have a name of the form avp_name_prefix +
571
-   SIPIdentityServiceLevel attribute value, and an integer value of 1.
572
-
573
-   Example 1.9. Example SIPIdentityServiceLevel values and resulting AVPs
574
-SIPIdentityServiceLevel: longdistance
575
-SIPIdentityServiceLevel: international
576
-SIPIdentityServiceLevel: 900
577
-
578
-after calling h350_result_service_level("sl_"), the following AVPs
579
-will be available in the routing script:
580
-
581
-$avp("s:sl_longdistance") = 1
582
-$avp("s:sl_international") = 1
583
-$avp("s:sl_900") = 1
584
-
585
-   This function returns the number of added AVPs (TRUE), -1 (FALSE)for
586
-   internal errors, and -2 (FALSE)if no SIPIdentityServiceLevel attribute
587
-   was found.
588
-
589
-   The function can be used from REQUEST_ROUTE, ONREPLY_ROUTE,
590
-   FAILURE_ROUTE and BRANCH_ROUTE.
591
-
592
-   Function Parameters:
593
-
594
-   avp_name_prefix
595
-          Name prefix for service level AVPs, as described above.
596
-
597
-   Return Values:
598
-
599
-   n > 0 (TRUE):
600
-
601
-          + n AVPs added.
602
-
603
-   -1 (FALSE):
604
-
605
-          + Internal error occurred.
606
-
607
-   -2 (FALSE):
608
-
609
-          + No SIPIdentityServiceLevel attribute found.
610
-
611
-   This function can be used from REQUEST_ROUTE, FAILURE_ROUTE,
612
-   BRANCH_ROUTE, and ONREPLY_ROUTE.
613
-
614
-   Example 1.10. Example Usage
615
-#
616
-# H.350 SIP digest authentication for caller
617
-#
618
-
619
-... h350_auth_lookup("$au", ...) ...
620
-
621
-#
622
-# store caller's service level as AVP
623
-#
624
-
625
-if (!h350_result_service_level("caller_sl_") && ($retcode == -1))
626
-{
627
-    sl_send_reply("500", "Internal server error");
628
-    exit;
629
-}
630
-
631
-#
632
-# make routing decision based on service level AVPs
633
-#
634
-
635
-if (is_avp_set("$avp(s:caller_sl_international)"))
636
-{
637
-    t_relay();
638
-}
639
-else {
640
-    sl_send_reply("403", "Forbidden");
641
-}
642
-exit;
643
-
644
-Resources
645
-
646
-   [H.350] Directory Services Architecture for Multimedia Conferencing.
647
-   August 2003. ITU-T.
648
-
649
-   [H.350.4] Directory services architecture for SIP. August 2003. ITU-T.
650
-
651
-   [H.350.6] Directory services architecture for call forwarding and
652
-   preferences. March 2004. ITU-T.
653
-
654
-   [ViDe-H.350-Cookbook] ViDe H.350 Cookbook. 2005. ViDe.
655
-
656
-   [RFC4510] Lightweight Directory Access Protocol (LDAP): Technical
657
-   Specification Road Map. June 2006. Internet Engineering Task Force.
Browse code

modules*: regenerated readmes

Daniel-Constantin Mierla authored on 02/10/2011 08:53:35
Showing 1 changed files
... ...
@@ -21,13 +21,13 @@ Christian Schlatter
21 21
               2.1. Kamailio Modules
22 22
               2.2. External Libraries or Applications
23 23
 
24
-        3. Exported Parameters
24
+        3. Parameters
25 25
 
26 26
               3.1. ldap_session (string)
27 27
               3.2. base_dn (string)
28 28
               3.3. search_scope (string)
29 29
 
30
-        4. Exported Functions
30
+        4. Functions
31 31
 
32 32
               4.1. h350_sipuri_lookup(sip_uri)
33 33
               4.2. h350_auth_lookup(auth_username,
... ...
@@ -64,13 +64,13 @@ Chapter 1. Admin Guide
64 64
         2.1. Kamailio Modules
65 65
         2.2. External Libraries or Applications
66 66
 
67
-   3. Exported Parameters
67
+   3. Parameters
68 68
 
69 69
         3.1. ldap_session (string)
70 70
         3.2. base_dn (string)
71 71
         3.3. search_scope (string)
72 72
 
73
-   4. Exported Functions
73
+   4. Functions
74 74
 
75 75
         4.1. h350_sipuri_lookup(sip_uri)
76 76
         4.2. h350_auth_lookup(auth_username,
... ...
@@ -176,7 +176,7 @@ objectClass                   top
176 176
      * OpenLDAP library (libldap), libldap header files (libldap-dev) are
177 177
        needed for compilation
178 178
 
179
-3. Exported Parameters
179
+3. Parameters
180 180
 
181 181
    3.1. ldap_session (string)
182 182
    3.2. base_dn (string)
... ...
@@ -212,7 +212,7 @@ modparam("h350", "base_dn", "ou=h350,dc=example,dc=com");
212 212
    Example 1.4. search_scope parameter usage
213 213
 modparam("h350", "search_scope", "sub");
214 214
 
215
-4. Exported Functions
215
+4. Functions
216 216
 
217 217
    4.1. h350_sipuri_lookup(sip_uri)
218 218
    4.2. h350_auth_lookup(auth_username, "username_avp_spec/pwd_avp_spec")
Browse code

docs: cleanup in xml files

- useless revision history removed
- docs depend on entities.xml
- updated global entities
- fixed the links to users and devel mailing lists
- fixed the link to tracker

Daniel-Constantin Mierla authored on 18/06/2011 21:21:41
Showing 1 changed files
... ...
@@ -5,38 +5,36 @@ Christian Schlatter
5 5
    University of North Carolina
6 6
    <cs@unc.edu>
7 7
 
8
-   Copyright � 2007 University of North Carolina
9
-   Revision History
10
-   Revision 0.1 05-17-2007
11
-     __________________________________________________________
8
+   Copyright © 2007 University of North Carolina
9
+     __________________________________________________________________
12 10
 
13 11
    Table of Contents
14 12
 
15 13
    1. Admin Guide
16 14
 
17
-        1.1. Overview
15
+        1. Overview
18 16
 
19
-              1.1.1. Example H.350 commObject LDAP Entry
17
+              1.1. Example H.350 commObject LDAP Entry
20 18
 
21
-        1.2. Dependencies
19
+        2. Dependencies
22 20
 
23
-              1.2.1. Kamailio Modules
24
-              1.2.2. External Libraries or Applications
21
+              2.1. Kamailio Modules
22
+              2.2. External Libraries or Applications
25 23
 
26
-        1.3. Exported Parameters
24
+        3. Exported Parameters
27 25
 
28
-              1.3.1. ldap_session (string)
29
-              1.3.2. base_dn (string)
30
-              1.3.3. search_scope (string)
26
+              3.1. ldap_session (string)
27
+              3.2. base_dn (string)
28
+              3.3. search_scope (string)
31 29
 
32
-        1.4. Exported Functions
30
+        4. Exported Functions
33 31
 
34
-              1.4.1. h350_sipuri_lookup(sip_uri)
35
-              1.4.2. h350_auth_lookup(auth_username,
32
+              4.1. h350_sipuri_lookup(sip_uri)
33
+              4.2. h350_auth_lookup(auth_username,
36 34
                       "username_avp_spec/pwd_avp_spec")
37 35
 
38
-              1.4.3. h350_result_call_preferences(avp_name_prefix)
39
-              1.4.4. h350_result_service_level(avp_name_prefix)
36
+              4.3. h350_result_call_preferences(avp_name_prefix)
37
+              4.4. h350_result_service_level(avp_name_prefix)
40 38
 
41 39
    Resources
42 40
 
... ...
@@ -48,47 +46,70 @@ Christian Schlatter
48 46
    1.4. search_scope parameter usage
49 47
    1.5. Example Usage
50 48
    1.6. Example Usage
51
-   1.7. Example H.350 callPreferenceURI simple call forwarding
52
-          rules
53
-
49
+   1.7. Example H.350 callPreferenceURI simple call forwarding rules
54 50
    1.8. Example Usage
55 51
    1.9. Example SIPIdentityServiceLevel values and resulting AVPs
56 52
    1.10. Example Usage
57 53
 
58 54
 Chapter 1. Admin Guide
59 55
 
60
-1.1. Overview
56
+   Table of Contents
57
+
58
+   1. Overview
59
+
60
+        1.1. Example H.350 commObject LDAP Entry
61
+
62
+   2. Dependencies
63
+
64
+        2.1. Kamailio Modules
65
+        2.2. External Libraries or Applications
66
+
67
+   3. Exported Parameters
68
+
69
+        3.1. ldap_session (string)
70
+        3.2. base_dn (string)
71
+        3.3. search_scope (string)
72
+
73
+   4. Exported Functions
61 74
 
62
-   The Kamailio H350 module enables an Kamailio SIP proxy server
63
-   to access SIP account data stored in an LDAP [RFC4510]
64
-   directory containing H.350 [H.350] commObjects. ITU-T
65
-   Recommendation H.350 standardizes LDAP object classes to store
66
-   Real-Time Communication (RTC) account data. In particular,
67
-   H.350.4 [H.350.4] defines an object class called sipIdentity
68
-   that includes attribute specifications for SIP account data
69
-   like SIP URI, SIP digest username/password, or service level.
70
-   This allows to store SIP account data in a vendor neutral way
71
-   and lets different entities, like SIP proxies, provisioning, or
72
-   billing applications, access the data in a standardized format.
75
+        4.1. h350_sipuri_lookup(sip_uri)
76
+        4.2. h350_auth_lookup(auth_username,
77
+                "username_avp_spec/pwd_avp_spec")
78
+
79
+        4.3. h350_result_call_preferences(avp_name_prefix)
80
+        4.4. h350_result_service_level(avp_name_prefix)
81
+
82
+1. Overview
83
+
84
+   1.1. Example H.350 commObject LDAP Entry
85
+
86
+   The Kamailio H350 module enables an Kamailio SIP proxy server to access
87
+   SIP account data stored in an LDAP [RFC4510] directory containing H.350
88
+   [H.350] commObjects. ITU-T Recommendation H.350 standardizes LDAP
89
+   object classes to store Real-Time Communication (RTC) account data. In
90
+   particular, H.350.4 [H.350.4] defines an object class called
91
+   sipIdentity that includes attribute specifications for SIP account data
92
+   like SIP URI, SIP digest username/password, or service level. This
93
+   allows to store SIP account data in a vendor neutral way and lets
94
+   different entities, like SIP proxies, provisioning, or billing
95
+   applications, access the data in a standardized format.
73 96
 
74 97
    The ViDe H.350 Cookbook [vide-h.350-cb] is a good reference for
75
-   deploying an H.350 directory. Besides general information on
76
-   H.350, LDAP, and related standards, this document explains how
77
-   to set up an H.350/LDAP directory and discusses different
78
-   deployment scenarios.
98
+   deploying an H.350 directory. Besides general information on H.350,
99
+   LDAP, and related standards, this document explains how to set up an
100
+   H.350/LDAP directory and discusses different deployment scenarios.
79 101
 
80
-   The H350 module uses the Kamailio LDAP module to import H.350
81
-   attribute values into the Kamailio routing script variable
82
-   space. The module exports functions to parse and store the
83
-   H.350 attribute values from the Kamailio routing script. It
84
-   allows a script writer to implement H.350 based SIP digest
85
-   authentication, call forwarding, SIP URI alias to AOR
86
-   rewriting, and service level parsing.
102
+   The H350 module uses the Kamailio LDAP module to import H.350 attribute
103
+   values into the Kamailio routing script variable space. The module
104
+   exports functions to parse and store the H.350 attribute values from
105
+   the Kamailio routing script. It allows a script writer to implement
106
+   H.350 based SIP digest authentication, call forwarding, SIP URI alias
107
+   to AOR rewriting, and service level parsing.
87 108
 
88
-1.1.1. Example H.350 commObject LDAP Entry
109
+1.1. Example H.350 commObject LDAP Entry
89 110
 
90
-   The following example shows a typical H.350 commObject LDAP
91
-   entry storing SIP account data.
111
+   The following example shows a typical H.350 commObject LDAP entry
112
+   storing SIP account data.
92 113
 
93 114
    Example 1.1. Example H.350 commObject storing SIP account data
94 115
 Attribute Name                Attribute Value(s)
... ...
@@ -137,70 +158,79 @@ objectClass                   top
137 158
                               SIPIdentity
138 159
                               callPreferenceURIObject
139 160
 
140
-1.2. Dependencies
161
+2. Dependencies
162
+
163
+   2.1. Kamailio Modules
164
+   2.2. External Libraries or Applications
141 165
 
142
-1.2.1. Kamailio Modules
166
+2.1. Kamailio Modules
143 167
 
144
-   The module depends on the following modules (the listed modules
145
-   must be loaded before this module):
168
+   The module depends on the following modules (the listed modules must be
169
+   loaded before this module):
146 170
      * LDAP
147 171
 
148
-1.2.2. External Libraries or Applications
172
+2.2. External Libraries or Applications
149 173
 
150
-   The following libraries or applications must be installed
151
-   before running Kamailio with this module loaded:
152
-     * OpenLDAP library (libldap), libldap header files
153
-       (libldap-dev) are needed for compilation
174
+   The following libraries or applications must be installed before
175
+   running Kamailio with this module loaded:
176
+     * OpenLDAP library (libldap), libldap header files (libldap-dev) are
177
+       needed for compilation
154 178
 
155
-1.3. Exported Parameters
179
+3. Exported Parameters
156 180
 
157
-1.3.1. ldap_session (string)
181
+   3.1. ldap_session (string)
182
+   3.2. base_dn (string)
183
+   3.3. search_scope (string)
158 184
 
159
-   Name of the LDAP session to be used for H.350 queries, as
160