Browse code

Massively changing "Kamailio" to &kamailio;

oej authored on 18/10/2009 23:34:00
Showing 47 changed files
... ...
@@ -26,78 +26,77 @@ Bogdan-Andrei Iancu
26 26
 
27 27
    Copyright � 2004, 2006 voice-system.ro
28 28
    Revision History
29
-   Revision $Revision$ $Date: 2008-08-06 12:08:33 +0200
30
-                              (Mi, 06 Aug 2008) $
31
-     __________________________________________________________
29
+   Revision $Revision$ $Date$
30
+     __________________________________________________________________
32 31
 
33 32
    Table of Contents
34 33
 
35 34
    1. Admin Guide
36 35
 
37
-        1.1. Overview
38
-
39
-              1.1.1. General Example
40
-
41
-        1.2. Extra accounting
42
-
43
-              1.2.1. Overview
44
-              1.2.2. Definitions and syntax
45
-              1.2.3. How it works
46
-
47
-        1.3. Multi Call-Legs accounting
48
-
49
-              1.3.1. Overview
50
-              1.3.2. Configuration
51
-              1.3.3. Logged data
52
-
53
-        1.4. Dependencies
54
-
55
-              1.4.1. Kamailio Modules
56
-              1.4.2. External Libraries or Applications
57
-
58
-        1.5. Exported Parameters
59
-
60
-              1.5.1. early_media (integer)
61
-              1.5.2. failed_transaction_flag (integer)
62
-              1.5.3. report_ack (integer)
63
-              1.5.4. report_cancels (integer)
64
-              1.5.5. detect_direction (integer)
65
-              1.5.6. multi_leg_info (string)
66
-              1.5.7. log_flag (integer)
67
-              1.5.8. log_missed_flag (integer)
68
-              1.5.9. log_level (integer)
69
-              1.5.10. log_facility (string)
70
-              1.5.11. log_extra (string)
71
-              1.5.12. radius_config (string)
72
-              1.5.13. radius_flag (integer)
73
-              1.5.14. radius_missed_flag (integer)
74
-              1.5.15. service_type (integer)
75
-              1.5.16. radius_extra (string)
76
-              1.5.17. db_flag (integer)
77
-              1.5.18. db_missed_flag (integer)
78
-              1.5.19. db_table_acc (string)
79
-              1.5.20. db_table_missed_calls (string)
80
-              1.5.21. db_url (string)
81
-              1.5.22. acc_method_column (string)
82
-              1.5.23. acc_from_tag_column (string)
83
-              1.5.24. acc_to_tag_column (string)
84
-              1.5.25. acc_callid_column (string)
85
-              1.5.26. acc_sip_code_column (string)
86
-              1.5.27. acc_sip_reason_column (string)
87
-              1.5.28. acc_time_column (string)
88
-              1.5.29. db_extra (string)
89
-              1.5.30. diameter_flag (integer)
90
-              1.5.31. diameter_missed_flag (integer)
91
-              1.5.32. diameter_client_host (string)
92
-              1.5.33. diameter_client_port (int)
93
-              1.5.34. diameter_extra (string)
94
-
95
-        1.6. Exported Functions
96
-
97
-              1.6.1. acc_log_request(comment)
98
-              1.6.2. acc_db_request(comment, table)
99
-              1.6.3. acc_rad_request(comment)
100
-              1.6.4. acc_diam_request(comment)
36
+        1. Overview
37
+
38
+              1.1. General Example
39
+
40
+        2. Extra accounting
41
+
42
+              2.1. Overview
43
+              2.2. Definitions and syntax
44
+              2.3. How it works
45
+
46
+        3. Multi Call-Legs accounting
47
+
48
+              3.1. Overview
49
+              3.2. Configuration
50
+              3.3. Logged data
51
+
52
+        4. Dependencies
53
+
54
+              4.1. Kamailio Modules
55
+              4.2. External Libraries or Applications
56
+
57
+        5. Exported Parameters
58
+
59
+              5.1. early_media (integer)
60
+              5.2. failed_transaction_flag (integer)
61
+              5.3. report_ack (integer)
62
+              5.4. report_cancels (integer)
63
+              5.5. detect_direction (integer)
64
+              5.6. multi_leg_info (string)
65
+              5.7. log_flag (integer)
66
+              5.8. log_missed_flag (integer)
67
+              5.9. log_level (integer)
68
+              5.10. log_facility (string)
69
+              5.11. log_extra (string)
70
+              5.12. radius_config (string)
71
+              5.13. radius_flag (integer)
72
+              5.14. radius_missed_flag (integer)
73
+              5.15. service_type (integer)
74
+              5.16. radius_extra (string)
75
+              5.17. db_flag (integer)
76
+              5.18. db_missed_flag (integer)
77
+              5.19. db_table_acc (string)
78
+              5.20. db_table_missed_calls (string)
79
+              5.21. db_url (string)
80
+              5.22. acc_method_column (string)
81
+              5.23. acc_from_tag_column (string)
82
+              5.24. acc_to_tag_column (string)
83
+              5.25. acc_callid_column (string)
84
+              5.26. acc_sip_code_column (string)
85
+              5.27. acc_sip_reason_column (string)
86
+              5.28. acc_time_column (string)
87
+              5.29. db_extra (string)
88
+              5.30. diameter_flag (integer)
89
+              5.31. diameter_missed_flag (integer)
90
+              5.32. diameter_client_host (string)
91
+              5.33. diameter_client_port (int)
92
+              5.34. diameter_extra (string)
93
+
94
+        6. Exported Functions
95
+
96
+              6.1. acc_log_request(comment)
97
+              6.2. acc_db_request(comment, table)
98
+              6.3. acc_rad_request(comment)
99
+              6.4. acc_diam_request(comment)
101 100
 
102 101
    2. Frequently Asked Questions
103 102
 
... ...
@@ -144,29 +143,95 @@ Bogdan-Andrei Iancu
144 143
 
145 144
 Chapter 1. Admin Guide
146 145
 
147
-1.1. Overview
148
-
149
-   ACC module is used to account transactions information to
150
-   different backends like syslog, SQL, RADIUS and DIAMETER (beta
151
-   version).
152
-
153
-   To account a transaction and to choose which set of backends to
154
-   be used, the script writer just has to set some flags (see the
155
-   module parameters section for flag definitions Section 1.5,
156
-   "Exported Parameters"). If the accounting flag for a specific
157
-   backend is set, the acc module will then report on completed
158
-   transaction. A typical usage of the module takes no
159
-   acc-specific script command -- the functionality binds
160
-   invisibly through transaction processing. Script writers just
161
-   need to mark the transaction for accounting with proper
162
-   setflag. Even so, the module allows the script writter to force
163
-   accounting in special cases via some script functions.
164
-
165
-   The accounting module will log by default a fixed set of
166
-   attributes for the transaction - if you customize your
167
-   accounting by adding more information to be logged, please see
168
-   the next chapter about extra accounting - Section 1.2, "Extra
169
-   accounting".
146
+   Table of Contents
147
+
148
+   1. Overview
149
+
150
+        1.1. General Example
151
+
152
+   2. Extra accounting
153
+
154
+        2.1. Overview
155
+        2.2. Definitions and syntax
156
+        2.3. How it works
157
+
158
+   3. Multi Call-Legs accounting
159
+
160
+        3.1. Overview
161
+        3.2. Configuration
162
+        3.3. Logged data
163
+
164
+   4. Dependencies
165
+
166
+        4.1. Kamailio Modules
167
+        4.2. External Libraries or Applications
168
+
169
+   5. Exported Parameters
170
+
171
+        5.1. early_media (integer)
172
+        5.2. failed_transaction_flag (integer)
173
+        5.3. report_ack (integer)
174
+        5.4. report_cancels (integer)
175
+        5.5. detect_direction (integer)
176
+        5.6. multi_leg_info (string)
177
+        5.7. log_flag (integer)
178
+        5.8. log_missed_flag (integer)
179
+        5.9. log_level (integer)
180
+        5.10. log_facility (string)
181
+        5.11. log_extra (string)
182
+        5.12. radius_config (string)
183
+        5.13. radius_flag (integer)
184
+        5.14. radius_missed_flag (integer)
185
+        5.15. service_type (integer)
186
+        5.16. radius_extra (string)
187
+        5.17. db_flag (integer)
188
+        5.18. db_missed_flag (integer)
189
+        5.19. db_table_acc (string)
190
+        5.20. db_table_missed_calls (string)
191
+        5.21. db_url (string)
192
+        5.22. acc_method_column (string)
193
+        5.23. acc_from_tag_column (string)
194
+        5.24. acc_to_tag_column (string)
195
+        5.25. acc_callid_column (string)
196
+        5.26. acc_sip_code_column (string)
197
+        5.27. acc_sip_reason_column (string)
198
+        5.28. acc_time_column (string)
199
+        5.29. db_extra (string)
200
+        5.30. diameter_flag (integer)
201
+        5.31. diameter_missed_flag (integer)
202
+        5.32. diameter_client_host (string)
203
+        5.33. diameter_client_port (int)
204
+        5.34. diameter_extra (string)
205
+
206
+   6. Exported Functions
207
+
208
+        6.1. acc_log_request(comment)
209
+        6.2. acc_db_request(comment, table)
210
+        6.3. acc_rad_request(comment)
211
+        6.4. acc_diam_request(comment)
212
+
213
+1. Overview
214
+
215
+   1.1. General Example
216
+
217
+   ACC module is used to account transactions information to different
218
+   backends like syslog, SQL, RADIUS and DIAMETER (beta version).
219
+
220
+   To account a transaction and to choose which set of backends to be
221
+   used, the script writer just has to set some flags (see the module
222
+   parameters section for flag definitions Section 5, "Exported
223
+   Parameters"). If the accounting flag for a specific backend is set, the
224
+   acc module will then report on completed transaction. A typical usage
225
+   of the module takes no acc-specific script command -- the functionality
226
+   binds invisibly through transaction processing. Script writers just
227
+   need to mark the transaction for accounting with proper setflag. Even
228
+   so, the module allows the script writter to force accounting in special
229
+   cases via some script functions.
230
+
231
+   The accounting module will log by default a fixed set of attributes for
232
+   the transaction - if you customize your accounting by adding more
233
+   information to be logged, please see the next chapter about extra
234
+   accounting - Section 2, "Extra accounting".
170 235
 
171 236
    The fixed minimal accounting information is:
172 237
      * Request Method name
... ...
@@ -177,56 +242,54 @@ Chapter 1. Admin Guide
177 242
      * Reason phrase from final reply
178 243
      * Time stamp when transaction was completed
179 244
 
180
-   If a value is not present in request, the empty string is
181
-   accounted instead.
245
+   If a value is not present in request, the empty string is accounted
246
+   instead.
182 247
 
183 248
    Note that:
184
-     * A single INVITE may produce multiple accounting reports --
185
-       that's due to SIP forking feature.
249
+     * A single INVITE may produce multiple accounting reports -- that's
250
+       due to SIP forking feature.
186 251
      * All flags related to accounting need to be set in request
187
-       processing route - only the "missed-call" flag may be
188
-       toggled from other types of routes.
189
-     * There is no session/dialog accounting (yet) -- Kamailio
190
-       maintains no sessions. If one needs to correlate INVITEs
191
-       with BYEs for generating proper CDRs for example for
192
-       purpose of billing, then it is better done in the entity
193
-       which processes accounting information.
194
-     * If a UA fails in middle of conversation, a proxy will never
195
-       find out about it. In general, a better practice is to
196
-       account from an end-device (such as PSTN gateway), which
197
-       best knows about call status (including media status and
198
-       PSTN status in case of the gateway).
199
-
200
-   The SQL backend support is compiled in the module. For RADIUS
201
-   and DIAMETER you need to enable it by recompiling the module
202
-   with properly set defines: uncomment the RAD_ACC or DDIAM_ACC
203
-   lines in modules/acc/Makefile. To compile RADIUS support, you
204
-   need to have radiusclient-ng (only versions higher or equal to
205
-   0.5.0) installed on your system which is available from
206
-   http://developer.berlios.de/projects/radiusclient-ng/. The
207
-   radius client needs to be configured properly. To do so, use
208
-   the template at etc/radiusclient.conf and make sure that
209
-   module's radius_config parameter points to its location. In
210
-   particular, accounting secret must match that one configured in
211
-   server and proper dictionary is used (one is available at
212
-   etc/sip_dictionary). Also note that Debian radiusclient-ng uses
213
-   /var/run/radius.seq as seqfile but Kamailio Debian init script
214
-   expects /var/run/kamailio/kamailio_radius.seq, so is needed to
215
-   change it in radiusclient-ng configuration or in Kamailio
216
-   Debian init script (if not, Kamailio can't create the seq file
217
-   when not running as root). Uses along with FreeRadius (
252
+       processing route - only the "missed-call" flag may be toggled from
253
+       other types of routes.
254
+     * There is no session/dialog accounting (yet) -- Kamailio maintains
255
+       no sessions. If one needs to correlate INVITEs with BYEs for
256
+       generating proper CDRs for example for purpose of billing, then it
257
+       is better done in the entity which processes accounting
258
+       information.
259
+     * If a UA fails in middle of conversation, a proxy will never find
260
+       out about it. In general, a better practice is to account from an
261
+       end-device (such as PSTN gateway), which best knows about call
262
+       status (including media status and PSTN status in case of the
263
+       gateway).
264
+
265
+   The SQL backend support is compiled in the module. For RADIUS and
266
+   DIAMETER you need to enable it by recompiling the module with properly
267
+   set defines: uncomment the RAD_ACC or DDIAM_ACC lines in
268
+   modules/acc/Makefile. To compile RADIUS support, you need to have
269
+   radiusclient-ng (only versions higher or equal to 0.5.0) installed on
270
+   your system which is available from
271
+   http://developer.berlios.de/projects/radiusclient-ng/. The radius
272
+   client needs to be configured properly. To do so, use the template at
273
+   etc/radiusclient.conf and make sure that module's radius_config
274
+   parameter points to its location. In particular, accounting secret must
275
+   match that one configured in server and proper dictionary is used (one
276
+   is available at etc/sip_dictionary). Also note that Debian
277
+   radiusclient-ng uses /var/run/radius.seq as seqfile but Kamailio Debian
278
+   init script expects /var/run/kamailio/kamailio_radius.seq, so is needed
279
+   to change it in radiusclient-ng configuration or in Kamailio Debian
280
+   init script (if not, Kamailio can't create the seq file when not
281
+   running as root). Uses along with FreeRadius (
218 282
    http://www.freeradius.org/) and Radiator (
219
-   http://www.open.com.au/radiator/) servers have been reported to
220
-   us.
283
+   http://www.open.com.au/radiator/) servers have been reported to us.
221 284
 
222
-   NOTE: diameter support was developed for DISC (DIameter Server
223
-   Client project at http://developer.berlios.de/projects/disc/).
224
-   This project seems to be no longer maintained and DIAMETER
225
-   specifications were updated in the meantime. Thus, the DIAMETER
226
-   part in the module is obsolete and needs rework to be usable
227
-   with opendiameter or other DIAMETER servers.
285
+   NOTE: diameter support was developed for DISC (DIameter Server Client
286
+   project at http://developer.berlios.de/projects/disc/). This project
287
+   seems to be no longer maintained and DIAMETER specifications were
288
+   updated in the meantime. Thus, the DIAMETER part in the module is
289
+   obsolete and needs rework to be usable with opendiameter or other
290
+   DIAMETER servers.
228 291
 
229
-1.1.1. General Example
292
+1.1. General Example
230 293
 
231 294
 loadmodule "modules/acc/acc.so"
232 295
 modparam("acc", "log_level", 1)
... ...
@@ -235,8 +298,7 @@ modparam("acc", "log_flag", 1)
235 298
 if (uri=~"sip:+40") /* calls to Romania */ {
236 299
     if (!proxy_authorize("sip_domain.net" /* realm */,
237 300
     "subscriber" /* table name */))  {
238
-        proxy_challenge("sip_domain.net" /* realm */, "0" /* no qop */ )
239
-;
301
+        proxy_challenge("sip_domain.net" /* realm */, "0" /* no qop */ );
240 302
         exit;
241 303
     }
242 304
 
... ...
@@ -249,198 +311,234 @@ if (uri=~"sip:+40") /* calls to Romania */ {
249 311
     t_relay();  /* enter stateful mode now */
250 312
 };
251 313
 
252
-1.2. Extra accounting
314
+2. Extra accounting
253 315
 
254
-1.2.1. Overview
316
+   2.1. Overview
317
+   2.2. Definitions and syntax
318
+   2.3. How it works
255 319
 
256
-   Along the static default information, ACC modules allows
257
-   dynamical selection of extra information to be logged. This
258
-   allows you to log any pseudo-variable (AVPs, parts of the
259
-   request, etc).
320
+2.1. Overview
260 321
 
261
-1.2.2. Definitions and syntax
322
+   Along the static default information, ACC modules allows dynamical
323
+   selection of extra information to be logged. This allows you to log any
324
+   pseudo-variable (AVPs, parts of the request, etc).
262 325
 
263
-   Selection of extra information is done via xxx_extra parameters
264
-   by specifying the names of additional information you want to
265
-   log. This information is defined via pseudo-variables and may
266
-   include headers, AVPs values or other message or system values.
267
-   The syntax of the parameter is:
326
+2.2. Definitions and syntax
327
+
328
+   Selection of extra information is done via xxx_extra parameters by
329
+   specifying the names of additional information you want to log. This
330
+   information is defined via pseudo-variables and may include headers,
331
+   AVPs values or other message or system values. The syntax of the
332
+   parameter is:
268 333
      * xxx_extra = extra_definition (';'extra_definition)*
269 334
      * extra_definition = log_name '=' pseudo_variable
270 335
 
271
-   The full list of supported pseudo-variables in Kamailio is
272
-   available at:
273
-   http://kamailio.org/dokuwiki/doku.php/pseudovariables:devel
274
-
275
-   Via log_name you define how/where the data will be logged. Its
276
-   meaning depends of the accounting support which is used:
277
-     * LOG accounting - log_name will be just printed along with
278
-       the data in log_name=data format;
279
-     * DB accounting - log_name will be the name of the DB column
280
-       where the data will be stored.IMPORTANT: add in db acc
281
-       table the columns corresponding to each extra data;
282
-     * RADIUS accounting - log_name will be the AVP name used for
283
-       packing the data into RADIUS message. The log_name will be
284
-       translated to AVP number via the dictionary. IMPORTANT: add
285
-       in RADIUS dictionary the log_name attribute.
286
-     * DIAMETER accounting - log_name will be the AVP code used
287
-       for packing the data into DIAMETER message. The AVP code is
288
-       given directly as integer, since DIAMETER has no dictionary
289
-       support yet. IMPORTANT: log_name must be a number.
290
-
291
-1.2.3. How it works
292
-
293
-   Some pseudo variables may return more than one value (like
294
-   headers or AVPs). In this case, the returned values are
295
-   embedded in a single string in a comma-separated format.
296
-
297
-1.3. Multi Call-Legs accounting
298
-
299
-1.3.1. Overview
300
-
301
-   A SIP call can have multiple legs due forwarding actions. For
302
-   example user A calls user B which forwards the call to user C.
303
-   There is only one SIP call but with 2 legs ( A to B and B to
304
-   C). Accounting the legs of a call is required for proper
305
-   billing of the calls (if C is a PSTN number and the call is
306
-   billed, user B must pay for the call - as last party modifing
307
-   the call destination-, and not A - as initiator of the call.
308
-   Call forwarding on server is only one example which shows the
336
+   The full list of supported pseudo-variables in Kamailio is available
337
+   at: http://kamailio.org/dokuwiki/doku.php/pseudovariables:devel
338
+
339
+   Via log_name you define how/where the data will be logged. Its meaning
340
+   depends of the accounting support which is used:
341
+     * LOG accounting - log_name will be just printed along with the data
342
+       in log_name=data format;
343
+     * DB accounting - log_name will be the name of the DB column where
344
+       the data will be stored.IMPORTANT: add in db acc table the columns
345
+       corresponding to each extra data;
346
+     * RADIUS accounting - log_name will be the AVP name used for packing
347
+       the data into RADIUS message. The log_name will be translated to
348
+       AVP number via the dictionary. IMPORTANT: add in RADIUS dictionary
349
+       the log_name attribute.
350
+     * DIAMETER accounting - log_name will be the AVP code used for
351
+       packing the data into DIAMETER message. The AVP code is given
352
+       directly as integer, since DIAMETER has no dictionary support yet.
353
+       IMPORTANT: log_name must be a number.
354
+
355
+2.3. How it works
356
+
357
+   Some pseudo variables may return more than one value (like headers or
358
+   AVPs). In this case, the returned values are embedded in a single
359
+   string in a comma-separated format.
360
+
361
+3. Multi Call-Legs accounting
362
+
363
+   3.1. Overview
364
+   3.2. Configuration
365
+   3.3. Logged data
366
+
367
+3.1. Overview
368
+
369
+   A SIP call can have multiple legs due forwarding actions. For example
370
+   user A calls user B which forwards the call to user C. There is only
371
+   one SIP call but with 2 legs ( A to B and B to C). Accounting the legs
372
+   of a call is required for proper billing of the calls (if C is a PSTN
373
+   number and the call is billed, user B must pay for the call - as last
374
+   party modifing the call destination-, and not A - as initiator of the
375
+   call. Call forwarding on server is only one example which shows the
309 376
    necessity of the having an accounting engine with multiple legs
310 377
    support.
311 378
 
312
-1.3.2. Configuration
313
-
314
-   First how it works: The idea is to have a set of AVPs and for
315
-   each call leg to store a set of values in the AVPs. The meaning
316
-   of the AVP content is stricly decided by the script writer - it
317
-   can be the origin and source of the leg, its status or any
318
-   other related information. If you have a set of 4 AVPS (AVP1,
319
-   AVP2, AVP3, AVP4), then for the "A call B and B forwards to C"
320
-   example, you need to set a different set of values for the AVPs
321
-   for each leg ([A,B] and [B,C]) . The script writer must take
322
-   care and properly insert all these AVP from the script (in
379
+3.2. Configuration
380
+
381
+   First how it works: The idea is to have a set of AVPs and for each call
382
+   leg to store a set of values in the AVPs. The meaning of the AVP
383
+   content is stricly decided by the script writer - it can be the origin
384
+   and source of the leg, its status or any other related information. If
385
+   you have a set of 4 AVPS (AVP1, AVP2, AVP3, AVP4), then for the "A call
386
+   B and B forwards to C" example, you need to set a different set of
387
+   values for the AVPs for each leg ([A,B] and [B,C]) . The script writer
388
+   must take care and properly insert all these AVP from the script (in
323 389
    proper order and with the correct type).
324 390
 
325
-   When the accounting information for the call will be
326
-   written/sent, all the call-leg pairs will be added (based on
327
-   the found AVP sets).
391
+   When the accounting information for the call will be written/sent, all
392
+   the call-leg pairs will be added (based on the found AVP sets).
328 393
 
329
-   By default, the multiple call-leg support is disabled - it can
330
-   be enabled just be setting the per-leg set of AVPs via the
331
-   multi_leg_info module parameter.
394
+   By default, the multiple call-leg support is disabled - it can be
395
+   enabled just be setting the per-leg set of AVPs via the multi_leg_info
396
+   module parameter.
332 397
 
333
-1.3.3. Logged data
398
+3.3. Logged data
334 399
 
335
-   For each call, all the values of the AVP set (which defines a
336
-   call-leg) will be logged. How the information will be actually
337
-   logged, depends of the data backend:
338
-     * syslog -- all leg-sets will be added to one record string
339
-       as AVP1=xxx, AVP2=xxxx ,... sets.
340
-     * database -- each pair will be separately logged (due DB
341
-       data structure constraints); several records will be
342
-       written, the difference between them being only the fields
343
-       corresponding to the call-leg info.
400
+   For each call, all the values of the AVP set (which defines a call-leg)
401
+   will be logged. How the information will be actually logged, depends of
402
+   the data backend:
403
+     * syslog -- all leg-sets will be added to one record string as
404
+       AVP1=xxx, AVP2=xxxx ,... sets.
405
+     * database -- each pair will be separately logged (due DB data
406
+       structure constraints); several records will be written, the
407
+       difference between them being only the fields corresponding to the
408
+       call-leg info.
344 409
 
345 410
 Note
346
-       You will need to add in your DB (all acc related tables)
347
-       the colums for call-leg info (a column for each AVP of the
348
-       set).
349
-     * Radius -- all sets will be added to the same Radius
350
-       accounting message as RADIUS AVPs - for each call-leg a set
351
-       of RADIUS AVPs will be added (corresponding to the per-leg
352
-       AVP set)
411
+       You will need to add in your DB (all acc related tables) the colums
412
+       for call-leg info (a column for each AVP of the set).
413
+     * Radius -- all sets will be added to the same Radius accounting
414
+       message as RADIUS AVPs - for each call-leg a set of RADIUS AVPs
415
+       will be added (corresponding to the per-leg AVP set)
353 416
 
354 417
 Note
355
-       You will need to add in your dictionary the RADIUS AVPs
356
-       used in call-leg AVP set definition.
418
+       You will need to add in your dictionary the RADIUS AVPs used in
419
+       call-leg AVP set definition.
357 420
      * Diameter same as for RADIUS.
358 421
 
359
-1.4. Dependencies
422
+4. Dependencies
360 423
 
361
-1.4.1. Kamailio Modules
424
+   4.1. Kamailio Modules
425
+   4.2. External Libraries or Applications
362 426
 
363
-   The module depends on the following modules (in the other words
364
-   the listed modules must be loaded before this module):
427
+4.1. Kamailio Modules
428
+
429
+   The module depends on the following modules (in the other words the
430
+   listed modules must be loaded before this module):
365 431
      * tm -- Transaction Manager
366 432
      * a database module -- If SQL support is used.
367
-     * rr -- Record Route, if "detect_direction" module parameter
368
-       is enabled.
369
-
370
-1.4.2. External Libraries or Applications
371
-
372
-   The following libraries or applications must be installed
373
-   before running Kamailio with this module loaded:
374
-     * radiusclient-ng 0.5.0 or higher -- if compiled with RADIUS
375
-       support. See
376
-       http://developer.berlios.de/projects/radiusclient-ng/.
377
-
378
-1.5. Exported Parameters
379
-
380
-1.5.1. early_media (integer)
381
-
382
-   Should be early media (any provisional reply with body)
383
-   accounted too ?
433
+     * rr -- Record Route, if "detect_direction" module parameter is
434
+       enabled.
435
+
436
+4.2. External Libraries or Applications
437
+
438
+   The following libraries or applications must be installed before
439
+   running Kamailio with this module loaded:
440
+     * radiusclient-ng 0.5.0 or higher -- if compiled with RADIUS support.
441
+       See http://developer.berlios.de/projects/radiusclient-ng/.
442
+
443
+5. Exported Parameters
444
+
445
+   5.1. early_media (integer)
446
+   5.2. failed_transaction_flag (integer)
447
+   5.3. report_ack (integer)
448
+   5.4. report_cancels (integer)
449
+   5.5. detect_direction (integer)
450
+   5.6. multi_leg_info (string)
451
+   5.7. log_flag (integer)
452
+   5.8. log_missed_flag (integer)
453
+   5.9. log_level (integer)
454
+   5.10. log_facility (string)
455
+   5.11. log_extra (string)
456
+   5.12. radius_config (string)
457
+   5.13. radius_flag (integer)
458
+   5.14. radius_missed_flag (integer)
459
+   5.15. service_type (integer)
460
+   5.16. radius_extra (string)
461
+   5.17. db_flag (integer)
462
+   5.18. db_missed_flag (integer)
463
+   5.19. db_table_acc (string)
464
+   5.20. db_table_missed_calls (string)
465
+   5.21. db_url (string)
466
+   5.22. acc_method_column (string)
467
+   5.23. acc_from_tag_column (string)
468
+   5.24. acc_to_tag_column (string)
469
+   5.25. acc_callid_column (string)
470
+   5.26. acc_sip_code_column (string)
471
+   5.27. acc_sip_reason_column (string)
472
+   5.28. acc_time_column (string)
473
+   5.29. db_extra (string)
474
+   5.30. diameter_flag (integer)
475
+   5.31. diameter_missed_flag (integer)
476
+   5.32. diameter_client_host (string)
477
+   5.33. diameter_client_port (int)
478
+   5.34. diameter_extra (string)
479
+
480
+5.1. early_media (integer)
481
+
482
+   Should be early media (any provisional reply with body) accounted too ?
384 483
 
385 484
    Default value is 0 (no).
386 485
 
387 486
    Example 1.1. early_media example
388 487
 modparam("acc", "early_media", 1)
389 488
 
390
-1.5.2. failed_transaction_flag (integer)
489
+5.2. failed_transaction_flag (integer)
391 490
 
392
-   Per transaction flag which says if the transaction should be
393
-   accounted also in case of failure (status>=300).
491
+   Per transaction flag which says if the transaction should be accounted
492
+   also in case of failure (status>=300).
394 493
 
395 494
    Default value is not-set (no flag).
396 495
 
397 496
    Example 1.2. failed_transaction_flag example
398 497
 modparam("acc", "failed_transaction_flag", 4)
399 498
 
400
-1.5.3. report_ack (integer)
499
+5.3. report_ack (integer)
401 500
 
402
-   Shall acc attempt to account e2e ACKs too ? Note that this is
403
-   really only an attempt, as e2e ACKs may take a different path
404
-   (unless RR enabled) and mismatch original INVITE (e2e ACKs are
405
-   a separate transaction).
501
+   Shall acc attempt to account e2e ACKs too ? Note that this is really
502
+   only an attempt, as e2e ACKs may take a different path (unless RR
503
+   enabled) and mismatch original INVITE (e2e ACKs are a separate
504
+   transaction).
406 505
 
407 506
    Default value is 0 (no).
408 507
 
409 508
    Example 1.3. report_ack example
410 509
 modparam("acc", "report_ack", 1)
411 510
 
412
-1.5.4. report_cancels (integer)
511
+5.4. report_cancels (integer)
413 512
 
414 513
    By default, CANCEL reporting is disabled -- most accounting
415
-   applications wants to see INVITE's cancellation status. Turn on
416
-   if you explicitly want to account CANCEL transactions.
514
+   applications wants to see INVITE's cancellation status. Turn on if you
515
+   explicitly want to account CANCEL transactions.
417 516
 
418 517
    Default value is 0 (no).
419 518
 
420 519
    Example 1.4. report_cancels example
421 520
 modparam("acc", "report_cancels", 1)
422 521
 
423
-1.5.5. detect_direction (integer)
522
+5.5. detect_direction (integer)
424 523
 
425
-   Controlles the direction detection for sequential requests. If
426
-   enabled (non zero value), for sequential requests with upstream
427
-   direction (from callee to caller), the FROM and TO will be
428
-   swapped (the direction will be preserved as in the original
429
-   request).
524
+   Controlles the direction detection for sequential requests. If enabled
525
+   (non zero value), for sequential requests with upstream direction (from
526
+   callee to caller), the FROM and TO will be swapped (the direction will
527
+   be preserved as in the original request).
430 528
 
431
-   It affects all values related to TO and FROM headers (body,
432
-   URI, username, domain, TAG).
529
+   It affects all values related to TO and FROM headers (body, URI,
530
+   username, domain, TAG).
433 531
 
434 532
    Default value is 0 (disabled).
435 533
 
436 534
    Example 1.5. detect_direction example
437 535
 modparam("acc", "detect_direction", 1)
438 536
 
439
-1.5.6. multi_leg_info (string)
537
+5.6. multi_leg_info (string)
440 538
 
441 539
    Defines the AVP set to be used in per-call-leg accounting. See
442
-   Section 1.3, "Multi Call-Legs accounting" for a detailed
443
-   description of the Multi Call-Legs accounting.
540
+   Section 3, "Multi Call-Legs accounting" for a detailed description of
541
+   the Multi Call-Legs accounting.
444 542
 
445 543
    If empty, the multi-leg accounting support will be disabled.
446 544
 
... ...
@@ -460,27 +558,25 @@ modparam("acc", "multi_leg_info",
460 558
 modparam("acc", "multi_leg_info",
461 559
     "2345=$avp(src);2346=$avp(dst)")
462 560
 
463
-1.5.7. log_flag (integer)
561
+5.7. log_flag (integer)
464 562
 
465
-   Request flag which needs to be set to account a transaction via
466
-   syslog.
563
+   Request flag which needs to be set to account a transaction via syslog.
467 564
 
468 565
    Default value is not-set (no flag).
469 566
 
470 567
    Example 1.7. log_flag example
471 568
 modparam("acc", "log_flag", 2)
472 569
 
473
-1.5.8. log_missed_flag (integer)
570
+5.8. log_missed_flag (integer)
474 571
 
475
-   Request flag which needs to be set to account missed calls via
476
-   syslog.
572
+   Request flag which needs to be set to account missed calls via syslog.
477 573
 
478 574
    Default value is not-set (no flag).
479 575
 
480 576
    Example 1.8. log_missed_flag example
481 577
 modparam("acc", "log_missed_flag", 3)
482 578
 
483
-1.5.9. log_level (integer)
579
+5.9. log_level (integer)
484 580
 
485 581
    Log level at which accounting messages are issued to syslog.
486 582
 
... ...
@@ -489,18 +585,18 @@ modparam("acc", "log_missed_flag", 3)
489 585
    Example 1.9. log_level example
490 586
 modparam("acc", "log_level", 2)   # Set log_level to 2
491 587
 
492
-1.5.10. log_facility (string)
588
+5.10. log_facility (string)
493 589
 
494
-   Log facility to which accounting messages are issued to syslog.
495
-   This allows to easily seperate the accounting specific logging
496
-   from the other log messages.
590
+   Log facility to which accounting messages are issued to syslog. This
591
+   allows to easily seperate the accounting specific logging from the
592
+   other log messages.
497 593
 
498 594
    Default value is LOG_DAEMON.
499 595
 
500 596
    Example 1.10. log_facility example
501 597
 modparam("acc", "log_facility", "LOG_DAEMON")
502 598
 
503
-1.5.11. log_extra (string)
599
+5.11. log_extra (string)
504 600
 
505 601
    Extra values to be logged.
506 602
 
... ...
@@ -509,44 +605,43 @@ modparam("acc", "log_facility", "LOG_DAEMON")
509 605
    Example 1.11. log_extra example
510 606
 modparam("acc", "log_extra", "ua=$hdr(User-Agent);uuid=$avp(i:123)")
511 607
 
512
-1.5.12. radius_config (string)
608
+5.12. radius_config (string)
513 609
 
514
-   This parameter is radius specific. Path to radius client
515
-   configuration file, set the referred config file correctly and
516
-   specify there address of server, shared secret (should equal
517
-   that in /usr/local/etc/raddb/clients for freeRadius servers)
518
-   and dictionary, see etc for an example of config file and
519
-   dictionary.
610
+   This parameter is radius specific. Path to radius client configuration
611
+   file, set the referred config file correctly and specify there address
612
+   of server, shared secret (should equal that in
613
+   /usr/local/etc/raddb/clients for freeRadius servers) and dictionary,
614
+   see etc for an example of config file and dictionary.
520 615
 
521
-   If the parameter is set to empty string, the RADIUS accounting
522
-   support will be disabled (even if compiled).
616
+   If the parameter is set to empty string, the RADIUS accounting support
617
+   will be disabled (even if compiled).
523 618
 
524 619
    Default value is "NULL".
525 620
 
526 621
    Example 1.12. radius_config example
527 622
 modparam("acc", "radius_config", "/etc/radiusclient/radiusclient.conf")
528 623
 
529
-1.5.13. radius_flag (integer)
624
+5.13. radius_flag (integer)
530 625
 
531
-   Request flag which needs to be set to account a transaction --
532
-   RADIUS specific.
626
+   Request flag which needs to be set to account a transaction -- RADIUS
627
+   specific.
533 628
 
534 629
    Default value is not-set (no flag).
535 630
 
536 631
    Example 1.13. radius_flag example
537 632
 modparam("acc", "radius_flag", 2)
538 633
 
539
-1.5.14. radius_missed_flag (integer)
634
+5.14. radius_missed_flag (integer)
540 635
 
541
-   Request flag which needs to be set to account missed calls --
542
-   RADIUS specific.
636
+   Request flag which needs to be set to account missed calls -- RADIUS
637
+   specific.
543 638
 
544 639
    Default value is not-set (no flag).
545 640
 
546 641
    Example 1.14. radius_missed_flag example
547 642
 modparam("acc", "radius_missed_flag", 3)
548 643
 
549
-1.5.15. service_type (integer)
644
+5.15. service_type (integer)
550 645
 
551 646
    Radius service type used for accounting.
552 647
 
... ...
@@ -555,7 +650,7 @@ modparam("acc", "radius_missed_flag", 3)
555 650
    Example 1.15. service_type example
556 651
 modparam("acc", "service_type", 16)
557 652
 
558
-1.5.16. radius_extra (string)
653
+5.16. radius_extra (string)
559 654
 
560 655
    Extra values to be logged via RADIUS - RADIUS specific.
561 656
 
... ...
@@ -564,37 +659,36 @@ modparam("acc", "service_type", 16)
564 659
    Example 1.16. radius_extra example
565 660
 modparam("acc", "radius_extra", "via=$hdr(Via[*]); email=$avp(s:email)")
566 661
 
567
-1.5.17. db_flag (integer)
662
+5.17. db_flag (integer)
568 663
 
569
-   Request flag which needs to be set to account a transaction --
570
-   database specific.
664
+   Request flag which needs to be set to account a transaction -- database
665
+   specific.
571 666
 
572 667
    Default value is not-set (no flag).
573 668
 
574 669
    Example 1.17. db_flag example
575 670
 modparam("acc", "db_flag", 2)
576 671
 
577
-1.5.18. db_missed_flag (integer)
672
+5.18. db_missed_flag (integer)
578 673
 
579
-   Request flag which needs to be set to account missed calls --
580
-   database specific.
674
+   Request flag which needs to be set to account missed calls -- database
675
+   specific.
581 676
 
582 677
    Default value is not-set (no flag).
583 678
 
584 679
    Example 1.18. db_missed_flag example
585 680
 modparam("acc", "db_missed_flag", 3)
586 681
 
587
-1.5.19. db_table_acc (string)
682
+5.19. db_table_acc (string)
588 683
 
589
-   Table name of accounting successfull calls -- database
590
-   specific.
684
+   Table name of accounting successfull calls -- database specific.
591 685
 
592 686
    Default value is "acc"
593 687
 
594 688
    Example 1.19. db_table_acc example
595 689
 modparam("acc", "db_table_acc", "myacc_table")
596 690
 
597
-1.5.20. db_table_missed_calls (string)
691
+5.20. db_table_missed_calls (string)
598 692
 
599 693
    Table name for accounting missed calls -- database specific.
600 694
 
... ...
@@ -603,77 +697,74 @@ modparam("acc", "db_table_acc", "myacc_table")
603 697
    Example 1.20. db_table_missed_calls example
604 698
 modparam("acc", "db_table_missed_calls", "myMC_table")
605 699
 
606
-1.5.21. db_url (string)
700
+5.21. db_url (string)
607 701
 
608
-   SQL address -- database specific. If is set to NULL or emty
609
-   string, the SQL support is disabled.
702
+   SQL address -- database specific. If is set to NULL or emty string, the
703
+   SQL support is disabled.
610 704
 
611 705
    Default value is "NULL" (SQL disabled).
612 706
 
613 707
    Example 1.21. db_url example
614 708
 modparam("acc", "db_url", "mysql://user:password@localhost/openser")
615 709
 
616
-1.5.22. acc_method_column (string)
710
+5.22. acc_method_column (string)
617 711
 
618
-   Column name in accounting table to store the request's method
619
-   name as string.
712
+   Column name in accounting table to store the request's method name as
713
+   string.
620 714
 
621 715
    Default value is "method".
622 716
 
623 717
    Example 1.22. acc_method_column example
624 718
 modparam("acc", "acc_method_column", "method")
625 719
 
626
-1.5.23. acc_from_tag_column (string)
720
+5.23. acc_from_tag_column (string)
627 721
 
628
-   Column name in accounting table to store the From header TAG
629
-   parameter.
722
+   Column name in accounting table to store the From header TAG parameter.
630 723
 
631 724
    Default value is "from_tag".
632 725
 
633 726
    Example 1.23. acc_from_tag_column example
634 727
 modparam("acc", "acc_from_tag_column", "from_tag")
635 728
 
636
-1.5.24. acc_to_tag_column (string)
729
+5.24. acc_to_tag_column (string)
637 730
 
638
-   Column name in accounting table to store the To header TAG
639
-   parameter.
731
+   Column name in accounting table to store the To header TAG parameter.
640 732
 
641 733
    Default value is "to_tag".
642 734
 
643 735
    Example 1.24. acc_to_tag_column example
644 736
 modparam("acc", "acc_to_tag_column", "to_tag")
645 737
 
646
-1.5.25. acc_callid_column (string)
738
+5.25. acc_callid_column (string)
647 739
 
648
-   Column name in accounting table to store the request's Callid
649
-   value.
740
+   Column name in accounting table to store the request's Callid value.
650 741
 
651 742
    Default value is "callid".
652 743
 
653 744
    Example 1.25. acc_callid_column example
654 745
 modparam("acc", "acc_callid_column", "callid")
655 746
 
656
-1.5.26. acc_sip_code_column (string)
747
+5.26. acc_sip_code_column (string)
657 748
 
658
-   Column name in accounting table to store the final reply's
659
-   numric code value in string format.
749
+   Column name in accounting table to store the final reply's numric code
750
+   value in string format.
660 751
 
661 752
    Default value is "sip_code".
662 753
 
663 754
    Example 1.26. acc_sip_code_column example
664 755
 modparam("acc", "acc_sip_code_column", "sip_code")
665 756
 
666
-1.5.27. acc_sip_reason_column (string)
757
+5.27. acc_sip_reason_column (string)
667 758
 
668
-   Column name in accounting table to store the final reply's
669
-   reason phrase value.
759
+   Column name in accounting table to store the final reply's reason
760
+   phrase value.
670 761
 
671 762
    Default value is "sip_reason".
672 763
 
673 764
    Example 1.27. acc_sip_reason_column example
674 765
 modparam("acc", "acc_sip_reason_column", "sip_reason")
675 766
 
676
-1.5.28. acc_time_column (string)
767
+5.28. acc_time_column (string)
677 768
 
678 769
    Column name in accounting table to store the time stamp of the
679 770
    transaction completion in date-time format.
... ...
@@ -683,37 +774,36 @@ modparam("acc", "acc_sip_reason_column", "sip_reason")
683 774
    Example 1.28. acc_time_column example
684 775
 modparam("acc", "acc_time_column", "time")
685 776
 
686
-1.5.29. db_extra (string)
777
+5.29. db_extra (string)
687 778
 
688 779
    Extra values to be logged into database - DB specific.
689 780
 
690 781
    Default value is NULL.
691 782
 
692 783
    Example 1.29. db_extra example
693
-modparam("acc", "db_extra", "ct=$hdr(Content-type); email=$avp(s:email)"
694
-)
784
+modparam("acc", "db_extra", "ct=$hdr(Content-type); email=$avp(s:email)")
695 785
 
696
-1.5.30. diameter_flag (integer)
786
+5.30. diameter_flag (integer)
697 787
 
698
-   Request flag which needs to be set to account a transaction --
699
-   DIAMETER specific.
788
+   Request flag which needs to be set to account a transaction -- DIAMETER
789
+   specific.
700 790
 
701 791
    Default value is not-set (no flag).
702 792
 
703 793
    Example 1.30. diameter_flag example
704 794
 modparam("acc", "diameter_flag", 2)
705 795
 
706
-1.5.31. diameter_missed_flag (integer)
796
+5.31. diameter_missed_flag (integer)
707 797
 
708
-   Request flag which needs to be set to account missed calls --
709
-   DIAMETER specific.
798
+   Request flag which needs to be set to account missed calls -- DIAMETER
799
+   specific.
710 800
 
711 801
    Default value is not-set (no flag).
712 802
 
713 803
    Example 1.31. diameter_missed_flag example
714 804
 modparam("acc", "diameter_missed_flag", 3)
715 805
 
716
-1.5.32. diameter_client_host (string)
806
+5.32. diameter_client_host (string)
717 807
 
718 808
    Hostname of the machine where the DIAMETER Client is running --
719 809
    DIAMETER specific.
... ...
@@ -723,7 +813,7 @@ modparam("acc", "diameter_missed_flag", 3)
723 813
    Example 1.32. diameter_client_host example
724 814
 modparam("acc", "diameter_client_host", "3a_server.net")
725 815
 
726
-1.5.33. diameter_client_port (int)
816
+5.33. diameter_client_port (int)
727 817
 
728 818
    Port number where the Diameter Client is listening -- DIAMETER
729 819
    specific.
... ...
@@ -733,25 +823,28 @@ modparam("acc", "diameter_client_host", "3a_server.net")
733 823
    Example 1.33. diameter_client_host example
734 824
 modparam("acc", "diameter_client_port", 3000)
735 825
 
736
-1.5.34. diameter_extra (string)
826
+5.34. diameter_extra (string)
737 827
 
738 828
    Extra values to be logged via DIAMETER - DIAMETER specific.
739 829
 
740 830
    Default value is NULL.
741 831
 
742 832
    Example 1.34. diameter_extra example
743
-modparam("acc", "diameter_extra", "7846=$hdr(Content-type);7847=$avp(s:e
744
-mail)")
833
+modparam("acc", "diameter_extra", "7846=$hdr(Content-type);7847=$avp(s:email)")
834
+
835
+6. Exported Functions
745 836
 
746
-1.6. Exported Functions
837
+   6.1. acc_log_request(comment)
838
+   6.2. acc_db_request(comment, table)
839
+   6.3. acc_rad_request(comment)
840
+   6.4. acc_diam_request(comment)
747 841
 
748
-1.6.1.  acc_log_request(comment)
842
+6.1. acc_log_request(comment)
749 843
 
750
-   acc_request reports on a request, for example, it can be used
751
-   to report on missed calls to off-line users who are replied 404
752
-   - Not Found. To avoid multiple reports on UDP request
753
-   retransmission, you would need to embed the action in stateful
754
-   processing.
844
+   acc_request reports on a request, for example, it can be used to report
845
+   on missed calls to off-line users who are replied 404 - Not Found. To
846
+   avoid multiple reports on UDP request retransmission, you would need to
847
+   embed the action in stateful processing.
755 848
 
756 849
    Meaning of the parameters is as follows:
757 850
      * comment - Comment to be appended.
... ...
@@ -763,11 +856,11 @@ mail)")
763 856
 acc_log_request("Some comment");
764 857
 ...
765 858
 
766
-1.6.2.  acc_db_request(comment, table)
859
+6.2. acc_db_request(comment, table)
767 860
 
768
-   Like acc_log_request, acc_db_request reports on a request. The
769
-   report is sent to database at "db_url", in the table referred
770
-   to in the second action parameter.
861
+   Like acc_log_request, acc_db_request reports on a request. The report
862
+   is sent to database at "db_url", in the table referred to in the second
863
+   action parameter.
771 864
 
772 865
    Meaning of the parameters is as follows:
773 866
      * comment - Comment to be appended.
... ...
@@ -780,10 +873,10 @@ acc_log_request("Some comment");
780 873
 acc_log_request("Some comment", "Some table");
781 874
 ...
782 875
 
783
-1.6.3.  acc_rad_request(comment)
876
+6.3. acc_rad_request(comment)
784 877
 
785
-   Like acc_log_request, acc_rad_request reports on a request. It
786
-   reports to radius server as configured in "radius_config".
878
+   Like acc_log_request, acc_rad_request reports on a request. It reports
879
+   to radius server as configured in "radius_config".
787 880
 
788 881
    Meaning of the parameters is as follows:
789 882
      * comment - Comment to be appended.
... ...
@@ -795,10 +888,10 @@ acc_log_request("Some comment", "Some table");
795 888
 acc_rad_request("Some comment");
796 889
 ...
797 890
 
798
-1.6.4.  acc_diam_request(comment)
891
+6.4. acc_diam_request(comment)
799 892
 
800
-   Like acc_log_request, acc_diam_request reports on a request. It
801
-   reports to the configured Diameter server.
893
+   Like acc_log_request, acc_diam_request reports on a request. It reports
894
+   to the configured Diameter server.
802 895
 
803 896
    Meaning of the parameters is as follows:
804 897
      * comment - Comment to be appended.
... ...
@@ -812,59 +905,59 @@ acc_diam_request("Some comment");
812 905
 
813 906
 Chapter 2. Frequently Asked Questions
814 907
 
815
-   2.1.
908
+   2.1. What happend with old log_fmt parameter
909
+   2.2. What happend with old multi_leg_enabled parameter
910
+   2.3. What happend with old src_leg_avp_id and dst_leg_avp_id parameters
911
+   2.4. Where can I find more about Kamailio?
912
+   2.5. Where can I post a question about this module?
913
+   2.6. How can I report a bug?
816 914
 
817
-       What happend with old log_fmt parameter
915
+   2.1.
818 916
 
819
-       The parameter became obsolete with the restructure of the data
820
-       logged by ACC module (refer to the Overview chapter). For
821
-       similar behaviour you can use the extra accouting (see the
822
-       coresponding chapter).
917
+   What happend with old log_fmt parameter
823 918
 
919
+   The parameter became obsolete with the restructure of the data logged
920
+   by ACC module (refer to the Overview chapter). For similar behaviour
921
+   you can use the extra accouting (see the coresponding chapter).
824 922
    2.2.
825 923
 
826
-       What happend with old multi_leg_enabled parameter
827
-
828
-       The parameter becaome obsolete by the addition of the new
829
-       multi_leg_info parameter. The multi-leg accouting is
830
-       automatically enabled when multi_leg_info is defined.
924
+   What happend with old multi_leg_enabled parameter
831 925
 
926
+   The parameter becaome obsolete by the addition of the new
927
+   multi_leg_info parameter. The multi-leg accouting is automatically
928
+   enabled when multi_leg_info is defined.
832 929
    2.3.
833 930
 
834
-       What happend with old src_leg_avp_id and dst_leg_avp_id
835
-       parameters
836
-
837
-       The parameter was replaced by the more generic new parameter
838
-       multi_leg_info. This allows logging (per-leg) of more
839
-       information than just dst and src.
931
+   What happend with old src_leg_avp_id and dst_leg_avp_id parameters
840 932
 
933
+   The parameter was replaced by the more generic new parameter
934
+   multi_leg_info. This allows logging (per-leg) of more information than
935
+   just dst and src.
841 936
    2.4.
842 937
 
843
-       Where can I find more about Kamailio?
844
-
845
-       Take a look at http://www.kamailio.org/.
938
+   Where can I find more about Kamailio?
846 939
 
940
+   Take a look at http://www.kamailio.org/.
847 941
    2.5.
848 942
 
849
-       Where can I post a question about this module?
850
-
851
-       First at all check if your question was already answered on one
852
-       of our mailing lists:
853
-         * User Mailing List -
854
-           http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
855
-         * Developer Mailing List -
856
-           http://lists.kamailio.org/cgi-bin/mailman/listinfo/devel
943
+   Where can I post a question about this module?
857 944
 
858
-       E-mails regarding any stable Kamailio release should be sent to
859
-       <users@lists.kamailio.org> and e-mails regarding development
860
-       versions should be sent to <devel@lists.kamailio.org>.
945
+   First at all check if your question was already answered on one of our
946
+   mailing lists:
947
+     * User Mailing List -
948
+       http://lists.kamailio.org/cgi-bin/mailman/listinfo/users
949
+     * Developer Mailing List -
950
+       http://lists.kamailio.org/cgi-bin/mailman/listinfo/devel
861 951
 
862
-       If you want to keep the mail private, send it to
863
-       <team@lists.kamailio.org>.
952
+   E-mails regarding any stable Kamailio release should be sent to
953
+   <users@lists.kamailio.org> and e-mails regarding development versions
954
+   should be sent to <devel@lists.kamailio.org>.
864 955
 
956
+   If you want to keep the mail private, send it to
957
+   <team@lists.kamailio.org>.
865 958
    2.6.
866 959
 
867
-       How can I report a bug?
960
+   How can I report a bug?
868 961
 
869
-       Please follow the guidelines provided at:
870
-       http://sourceforge.net/tracker/?group_id=139143.
962
+   Please follow the guidelines provided at:
963
+   http://sourceforge.net/tracker/?group_id=139143.
... ...
@@ -119,10 +119,10 @@
119 119
 		In particular, accounting secret must match that one configured in
120 120
 		server and proper dictionary is used (one is available at 
121 121
 		etc/sip_dictionary). Also note that Debian radiusclient-ng uses
122
-		/var/run/radius.seq as seqfile but Kamailio Debian init script expects
122
+		/var/run/radius.seq as seqfile but &kamailio; Debian init script expects
123 123
 		/var/run/kamailio/kamailio_radius.seq, so is needed to change it in
124
-		radiusclient-ng configuration or in Kamailio Debian init script (if not,
125
-		Kamailio can't create the seq file when not running as root). Uses along
124
+		radiusclient-ng configuration or in &kamailio; Debian init script (if not,
125
+		&kamailio; can't create the seq file when not running as root). Uses along
126 126
 		with FreeRadius (<ulink url='http://www.freeradius.org/'>
127 127
 		http://www.freeradius.org/</ulink>) and Radiator 
128 128
 		(<ulink url='http://www.open.com.au/radiator/'>
... ...
@@ -19,53 +19,53 @@ Bastian Friedrich
19 19
 
20 20
    Copyright � 2007 Voice System SRL
21 21
    Revision History
22
-   Revision $Revision: 1.1.1.1 $ $Date: 2007-04-11 14:40:39 +0200
23
-                                 (Mi, 11 Apr 2007) $
24
-     __________________________________________________________
22
+   Revision $Revision: 1.1.1.1 $ $Date: 2007-04-11 14:40:39 +0200 (Mi, 11
23
+   Apr 2007) $
24
+     __________________________________________________________________
25 25
 
26 26
    Table of Contents
27 27
 
28 28
    1. Admin Guide
29 29
 
30
-        1.1. Overview
31
-        1.2. Dependencies
30
+        1. Overview
31
+        2. Dependencies
32 32
 
33
-              1.2.1. Kamailio Modules
34
-              1.2.2. External Libraries or Applications
33
+              2.1. Kamailio Modules
34
+              2.2. External Libraries or Applications
35 35
 
36
-        1.3. Exported Parameters
36
+        3. Exported Parameters
37 37
 
38
-              1.3.1. enable (int)
39
-              1.3.2. granularity (int)
40
-              1.3.3. loglevel (int)
38
+              3.1. enable (int)
39
+              3.2. granularity (int)
40
+              3.3. loglevel (int)
41 41
 
42
-        1.4. Exported Functions
42
+        4. Exported Functions
43 43
 
44
-              1.4.1. bm_start_timer(name)
45
-              1.4.2. bm_log_timer(name)
44
+              4.1. bm_start_timer(name)
45
+              4.2. bm_log_timer(name)
46 46
 
47
-        1.5. Exported pseudo-variables
47
+        5. Exported pseudo-variables
48 48
 
49
-              1.5.1. $BM_time_diff
49
+              5.1. $BM_time_diff
50 50
 
51
-        1.6. Exported MI Functions
51
+        6. Exported MI Functions
52 52
 
53
-              1.6.1. bm_enable_global
54
-              1.6.2. bm_enable_timer
55
-              1.6.3. bm_granularity
56
-              1.6.4. bm_loglevel
53
+              6.1. bm_enable_global
54
+              6.2. bm_enable_timer
55
+              6.3. bm_granularity
56
+              6.4. bm_loglevel
57 57
 
58
-        1.7. Example of usage
58
+        7. Example of usage
59 59
 
60 60
    2. Developer Guide
61 61
 
62
-        2.1. Available Functions
62
+        1. Available Functions
63 63
 
64
-              2.1.1. bm_register(name, mode, id)
65
-              2.1.2. bm_start(id)
66
-              2.1.3. bm_log(id)
64
+              1.1. bm_register(name, mode, id)
65
+              1.2. bm_start(id)
66
+              1.3. bm_log(id)
67 67
 
68
-        2.2. Benchmark API Example
68
+        2. Benchmark API Example
69 69
 
70 70
    List of Examples
71 71
 
... ...
@@ -80,41 +80,78 @@ Bastian Friedrich
80 80
 
81 81
 Chapter 1. Admin Guide
82 82
 
83
-1.1. Overview
83
+   Table of Contents
84
+
85
+   1. Overview
86
+   2. Dependencies
87
+
88
+        2.1. Kamailio Modules
89
+        2.2. External Libraries or Applications
90
+
91
+   3. Exported Parameters
92
+
93
+        3.1. enable (int)
94
+        3.2. granularity (int)
95
+        3.3. loglevel (int)
96
+
97
+   4. Exported Functions
98
+
99
+        4.1. bm_start_timer(name)
100
+        4.2. bm_log_timer(name)
101
+
102
+   5. Exported pseudo-variables
103
+
104
+        5.1. $BM_time_diff
105
+
106
+   6. Exported MI Functions
107
+
108
+        6.1. bm_enable_global
109
+        6.2. bm_enable_timer
110
+        6.3. bm_granularity
111
+        6.4. bm_loglevel
112
+
113
+   7. Example of usage
84 114
 
85
-   This module helps developers to benchmark their module
86
-   functions. By adding this module's functions via the
87
-   configuration file or through its API, Kamailio can log
88
-   profiling information for every function.
115
+1. Overview
89 116
 
90
-   The duration between calls to start_timer and log_timer is
91
-   stored and logged via Kamailio's logging facility. Please note
92
-   that all durations are given as microseconds (don't confuse
93
-   with milliseconds!).
117
+   This module helps developers to benchmark their module functions. By
118
+   adding this module's functions via the configuration file or through
119
+   its API, Kamailio can log profiling information for every function.
94 120
 
95
-1.2. Dependencies
121
+   The duration between calls to start_timer and log_timer is stored and
122
+   logged via Kamailio's logging facility. Please note that all durations
123
+   are given as microseconds (don't confuse with milliseconds!).
96 124
 
97
-1.2.1. Kamailio Modules
125
+2. Dependencies
126
+