浏览代码

ims_charging: updated docs for dependency on ims_dialog

Daniel-Constantin Mierla 9 年之前
父节点
当前提交
eb820d1b29
共有 2 个文件被更改,包括 200 次插入100 次删除
  1. 198 98
      modules/ims_charging/README
  2. 2 2
      modules/ims_charging/doc/ims_charging_admin.xml

+ 198 - 98
modules/ims_charging/README

@@ -15,9 +15,9 @@ Carlos Ruiz Diaz
    ng-voice GmbH
    ng-voice GmbH
    <[email protected]>
    <[email protected]>
 
 
-   Copyright © 2013 Smile Communications
+   Copyright © 2013 Smile Communications
 
 
-   Copyright © 2013 ng-voice GmbH
+   Copyright © 2013 ng-voice GmbH
      __________________________________________________________________
      __________________________________________________________________
 
 
    Table of Contents
    Table of Contents
@@ -47,20 +47,27 @@ Carlos Ruiz Diaz
               4.7. cdp_event_latency(integer)
               4.7. cdp_event_latency(integer)
               4.8. cdp_event_threshold(integer)
               4.8. cdp_event_threshold(integer)
               4.9. cdp_event_latency_log(integer)
               4.9. cdp_event_latency_log(integer)
-              4.10. origin_host(string)
-              4.11. origin_realm(string)
-              4.12. destination_host(string)
-              4.13. destination_realm(string)
-              4.14. service_context_id_root(string)
-              4.15. service_context_id_ext(string)
-              4.16. service_context_id_mnc(string)
-              4.17. service_context_id_mcc(string)
-              4.18. service_context_id_release(string)
+              4.10. single_ro_session_per_dialog(integer)
+              4.11. origin_host(string)
+              4.12. origin_realm(string)
+              4.13. destination_host(string)
+              4.14. destination_realm(string)
+              4.15. service_context_id_root(string)
+              4.16. service_context_id_ext(string)
+              4.17. service_context_id_mnc(string)
+              4.18. voice_service_identifier(string)
+              4.19. voice_rating_group(string)
+              4.20. video_service_identifier(string)
+              4.21. video_rating_group(string)
+              4.22. service_context_id_mcc(string)
+              4.23. service_context_id_release(string)
 
 
         5. Functions
         5. Functions
 
 
-              5.1. Ro_CCR(route_name, direction, charge_type, unit_type,
-                      reservation_units)
+              5.1. Ro_CCR(route_name, direction, reservation_units,
+                      domain, incoming_trunk_id, outgoing_trunk_id
+
+              5.2. Ro_set_session_id_avp()
 
 
         6. Statistics
         6. Statistics
 
 
@@ -92,16 +99,22 @@ Carlos Ruiz Diaz
    1.7. cdp_event_latencyparameter usage
    1.7. cdp_event_latencyparameter usage
    1.8. cdp_event_thresholdparameter usage
    1.8. cdp_event_thresholdparameter usage
    1.9. cdp_event_latency_logparameter usage
    1.9. cdp_event_latency_logparameter usage
-   1.10. origin_hostparameter usage
-   1.11. origin_realmparameter usage
-   1.12. destination_hostparameter usage
-   1.13. destination_realmparameter usage
-   1.14. service_context_id_rootparameter usage
-   1.15. service_context_id_extparameter usage
-   1.16. service_context_id_mncparameter usage
-   1.17. service_context_id_mccparameter usage
-   1.18. service_context_id_releaseparameter usage
-   1.19. Ro_CCR
+   1.10. single_ro_session_per_dialogparameter usage
+   1.11. origin_hostparameter usage
+   1.12. origin_realmparameter usage
+   1.13. destination_hostparameter usage
+   1.14. destination_realmparameter usage
+   1.15. service_context_id_rootparameter usage
+   1.16. service_context_id_extparameter usage
+   1.17. service_context_id_mncparameter usage
+   1.18. voice_service_identifierparameter usage
+   1.19. voice_rating_groupparameter usage
+   1.20. video_service_identifierparameter usage
+   1.21. video_rating_groupparameter usage
+   1.22. service_context_id_mccparameter usage
+   1.23. service_context_id_releaseparameter usage
+   1.24. Ro_CCR
+   1.25. Ro_set_session_id_avp
 
 
 Chapter 1. Admin Guide
 Chapter 1. Admin Guide
 
 
@@ -130,20 +143,27 @@ Chapter 1. Admin Guide
         4.7. cdp_event_latency(integer)
         4.7. cdp_event_latency(integer)
         4.8. cdp_event_threshold(integer)
         4.8. cdp_event_threshold(integer)
         4.9. cdp_event_latency_log(integer)
         4.9. cdp_event_latency_log(integer)
-        4.10. origin_host(string)
-        4.11. origin_realm(string)
-        4.12. destination_host(string)
-        4.13. destination_realm(string)
-        4.14. service_context_id_root(string)
-        4.15. service_context_id_ext(string)
-        4.16. service_context_id_mnc(string)
-        4.17. service_context_id_mcc(string)
-        4.18. service_context_id_release(string)
+        4.10. single_ro_session_per_dialog(integer)
+        4.11. origin_host(string)
+        4.12. origin_realm(string)
+        4.13. destination_host(string)
+        4.14. destination_realm(string)
+        4.15. service_context_id_root(string)
+        4.16. service_context_id_ext(string)
+        4.17. service_context_id_mnc(string)
+        4.18. voice_service_identifier(string)
+        4.19. voice_rating_group(string)
+        4.20. video_service_identifier(string)
+        4.21. video_rating_group(string)
+        4.22. service_context_id_mcc(string)
+        4.23. service_context_id_release(string)
 
 
    5. Functions
    5. Functions
 
 
-        5.1. Ro_CCR(route_name, direction, charge_type, unit_type,
-                reservation_units)
+        5.1. Ro_CCR(route_name, direction, reservation_units, domain,
+                incoming_trunk_id, outgoing_trunk_id
+
+        5.2. Ro_set_session_id_avp()
 
 
    6. Statistics
    6. Statistics
 
 
@@ -180,7 +200,7 @@ Chapter 1. Admin Guide
 2.1. Kamailio Modules
 2.1. Kamailio Modules
 
 
    The Following mouldes must be loaded before this module:
    The Following mouldes must be loaded before this module:
-     * Dialog_ng
+     * ims_dialog
      * TM - Transaction Manager
      * TM - Transaction Manager
      * CDP - C Diameter Peer
      * CDP - C Diameter Peer
      * CDP_AVP - CDP AVP Applications
      * CDP_AVP - CDP AVP Applications
@@ -320,17 +340,22 @@ Chapter 1. Admin Guide
    4.7. cdp_event_latency(integer)
    4.7. cdp_event_latency(integer)
    4.8. cdp_event_threshold(integer)
    4.8. cdp_event_threshold(integer)
    4.9. cdp_event_latency_log(integer)
    4.9. cdp_event_latency_log(integer)
-   4.10. origin_host(string)
-   4.11. origin_realm(string)
-   4.12. destination_host(string)
-   4.13. destination_realm(string)
-   4.14. service_context_id_root(string)
-   4.15. service_context_id_ext(string)
-   4.16. service_context_id_mnc(string)
-   4.17. service_context_id_mcc(string)
-   4.18. service_context_id_release(string)
-
-4.1.  hash_size(int)
+   4.10. single_ro_session_per_dialog(integer)
+   4.11. origin_host(string)
+   4.12. origin_realm(string)
+   4.13. destination_host(string)
+   4.14. destination_realm(string)
+   4.15. service_context_id_root(string)
+   4.16. service_context_id_ext(string)
+   4.17. service_context_id_mnc(string)
+   4.18. voice_service_identifier(string)
+   4.19. voice_rating_group(string)
+   4.20. video_service_identifier(string)
+   4.21. video_rating_group(string)
+   4.22. service_context_id_mcc(string)
+   4.23. service_context_id_release(string)
+
+4.1. hash_size(int)
 
 
    The size of the hash table internally used to keep the
    The size of the hash table internally used to keep the
    Diameter-Ro-Session. A larger table is much faster but consumes more
    Diameter-Ro-Session. A larger table is much faster but consumes more
@@ -343,12 +368,12 @@ Chapter 1. Admin Guide
 
 
    Default value is 4096.
    Default value is 4096.
 
 
-   Example 1.1.  hash_sizeparameter usage
+   Example 1.1. hash_sizeparameter usage
 ...
 ...
 modparam("ims_charging", "hash_size", 1024)
 modparam("ims_charging", "hash_size", 1024)
 ...
 ...
 
 
-4.2.  interim_update_credits(int)
+4.2. interim_update_credits(int)
 
 
    How much credit should be requested interim request? At the start of
    How much credit should be requested interim request? At the start of
    the call, we request the amout of seconds as per Command. For each
    the call, we request the amout of seconds as per Command. For each
@@ -356,72 +381,74 @@ modparam("ims_charging", "hash_size", 1024)
 
 
    Default value is 30.
    Default value is 30.
 
 
-   Example 1.2.  interim_update_creditsparameter usage
+   Example 1.2. interim_update_creditsparameter usage
 ...
 ...
 modparam("ims_charging", "interim_update_credits", 600)
 modparam("ims_charging", "interim_update_credits", 600)
 ...
 ...
 
 
-4.3.  timer_buffer(int)
+4.3. timer_buffer(int)
 
 
    How many seconds before expiry of our credit should we request more
    How many seconds before expiry of our credit should we request more
    credit?
    credit?
 
 
    Default value is 8.
    Default value is 8.
 
 
-   Example 1.3.  timer_bufferparameter usage
+   Example 1.3. timer_bufferparameter usage
 ...
 ...
 modparam("ims_charging", "timer_buffer", 10)
 modparam("ims_charging", "timer_buffer", 10)
 ...
 ...
 
 
-4.4.  ro_forced_peer(string)
+4.4. ro_forced_peer(string)
 
 
-   This is the optional name of the origin host of the Diameter server
-   (typically a Charging Server). If not set then realm routing is used.
+   FQDN of Diameter Peer (OCS) to use for communication (CCR). If you use
+   this, the routing defined in your diameter xml configuration file (CDP)
+   will be ignored and as a result you will lose the benefits of load
+   balancing and failover.
 
 
    Default value is ''.
    Default value is ''.
 
 
-   Example 1.4.  ro_forced_peerparameter usage
+   Example 1.4. ro_forced_peerparameter usage
 ...
 ...
 modparam("ims_charging", "ro_forced_peer", "ocs.ims.smilecoms.com")
 modparam("ims_charging", "ro_forced_peer", "ocs.ims.smilecoms.com")
 ...
 ...
 
 
-4.5.  ro_auth_expiry(integer)
+4.5. ro_auth_expiry(integer)
 
 
    This is the expiry length in seconds of the initiated Diameter
    This is the expiry length in seconds of the initiated Diameter
    sessions.
    sessions.
 
 
    Default value is 7200.
    Default value is 7200.
 
 
-   Example 1.5.  ro_auth_expiryparameter usage
+   Example 1.5. ro_auth_expiryparameter usage
 ...
 ...
 modparam("ims_charging", "ro_auth_expiry", 14400)
 modparam("ims_charging", "ro_auth_expiry", 14400)
 ...
 ...
 
 
-4.6.  ro_auth_expiry(integer)
+4.6. ro_auth_expiry(integer)
 
 
    This is the expiry length in seconds of the initiated Diameter
    This is the expiry length in seconds of the initiated Diameter
    sessions.
    sessions.
 
 
    Default value is 7200.
    Default value is 7200.
 
 
-   Example 1.6.  ro_auth_expiryparameter usage
+   Example 1.6. ro_auth_expiryparameter usage
 ...
 ...
 modparam("ims_charging", "ro_auth_expiry", 14400)
 modparam("ims_charging", "ro_auth_expiry", 14400)
 ...
 ...
 
 
-4.7.  cdp_event_latency(integer)
+4.7. cdp_event_latency(integer)
 
 
    This is a flag to determine whether or slow CDP responses should be
    This is a flag to determine whether or slow CDP responses should be
    reported in the log file. 1 is enabled and 0 is disabled.
    reported in the log file. 1 is enabled and 0 is disabled.
 
 
    Default value is 1.
    Default value is 1.
 
 
-   Example 1.7.  cdp_event_latencyparameter usage
+   Example 1.7. cdp_event_latencyparameter usage
 ...
 ...
 modparam("ims_charging", "cdp_event_latency", 1)
 modparam("ims_charging", "cdp_event_latency", 1)
 ...
 ...
 
 
-4.8.  cdp_event_threshold(integer)
+4.8. cdp_event_threshold(integer)
 
 
    This time in milliseconds is the limit we should report a CDP response
    This time in milliseconds is the limit we should report a CDP response
    as slow. i.e. if a CDP response exceeds this limit it will be reported
    as slow. i.e. if a CDP response exceeds this limit it will be reported
@@ -430,12 +457,12 @@ modparam("ims_charging", "cdp_event_latency", 1)
 
 
    Default value is 500.
    Default value is 500.
 
 
-   Example 1.8.  cdp_event_thresholdparameter usage
+   Example 1.8. cdp_event_thresholdparameter usage
 ...
 ...
 modparam("ims_charging", "cdp_event_threshold", 500)
 modparam("ims_charging", "cdp_event_threshold", 500)
 ...
 ...
 
 
-4.9.  cdp_event_latency_log(integer)
+4.9. cdp_event_latency_log(integer)
 
 
    This time log level at which we should report slow CDP responses. 0 is
    This time log level at which we should report slow CDP responses. 0 is
    ERROR, 1 is WARN, 2 is INFO and 3 is DEBUG. This is only relevant is
    ERROR, 1 is WARN, 2 is INFO and 3 is DEBUG. This is only relevant is
@@ -443,56 +470,72 @@ modparam("ims_charging", "cdp_event_threshold", 500)
 
 
    Default value is 0.
    Default value is 0.
 
 
-   Example 1.9.  cdp_event_latency_logparameter usage
+   Example 1.9. cdp_event_latency_logparameter usage
 ...
 ...
 modparam("ims_charging", "cdp_event_latency_log", 1)
 modparam("ims_charging", "cdp_event_latency_log", 1)
 ...
 ...
 
 
-4.10.  origin_host(string)
+4.10. single_ro_session_per_dialog(integer)
+
+   This tells the module whether it should do a single ro session per
+   dialog no matter how many times Ro_send_CCR is called from the config
+   file or initiate an ro session each time Ro_send_CCR is called. It is
+   useful for IMS charging where you might want to charge for on-net
+   originating and off-net originating calls but always have only a single
+   ro session.
+
+   Default value is 0.
+
+   Example 1.10. single_ro_session_per_dialogparameter usage
+...
+modparam("ims_charging", "single_ro_session_per_dialog", 1)
+...
+
+4.11. origin_host(string)
 
 
    Origin host to be used in Diameter messages to charging-server.
    Origin host to be used in Diameter messages to charging-server.
 
 
    Default value is "scscf.ims.smilecoms.com".
    Default value is "scscf.ims.smilecoms.com".
 
 
-   Example 1.10.  origin_hostparameter usage
+   Example 1.11. origin_hostparameter usage
 ...
 ...
 modparam("ims_charging", "origin_host", "scscf.kamailio-ims.org")
 modparam("ims_charging", "origin_host", "scscf.kamailio-ims.org")
 ...
 ...
 
 
-4.11.  origin_realm(string)
+4.12. origin_realm(string)
 
 
    Origin Realm to be used in Diameter messages to charging-server.
    Origin Realm to be used in Diameter messages to charging-server.
 
 
    Default value is "ims.smilecome.com".
    Default value is "ims.smilecome.com".
 
 
-   Example 1.11.  origin_realmparameter usage
+   Example 1.12. origin_realmparameter usage
 ...
 ...
 modparam("ims_charging", "origin_realm", "kamailio-ims.org")
 modparam("ims_charging", "origin_realm", "kamailio-ims.org")
 ...
 ...
 
 
-4.12.  destination_host(string)
+4.13. destination_host(string)
 
 
    Destination host to be used in Diameter messages to charging-server.
    Destination host to be used in Diameter messages to charging-server.
 
 
    Default value is 5s.
    Default value is 5s.
 
 
-   Example 1.12.  destination_hostparameter usage
+   Example 1.13. destination_hostparameter usage
 ...
 ...
 modparam("ims_charging", "destination_host", "ocs.kamailio-ims.org")
 modparam("ims_charging", "destination_host", "ocs.kamailio-ims.org")
 ...
 ...
 
 
-4.13.  destination_realm(string)
+4.14. destination_realm(string)
 
 
    Destination realm to be used in Diameter messages to charging-server.
    Destination realm to be used in Diameter messages to charging-server.
 
 
    Default value is "ims.smilecoms.com".
    Default value is "ims.smilecoms.com".
 
 
-   Example 1.13.  destination_realmparameter usage
+   Example 1.14. destination_realmparameter usage
 ...
 ...
 modparam("ims_charging", "destination_realm", "kamailio-ims.org")
 modparam("ims_charging", "destination_realm", "kamailio-ims.org")
 ...
 ...
 
 
-4.14.  service_context_id_root(string)
+4.15. service_context_id_root(string)
 
 
    This defines a root-element of the Service-Context-Id AVP used in the
    This defines a root-element of the Service-Context-Id AVP used in the
    diameter-message
    diameter-message
@@ -523,36 +566,80 @@ modparam("ims_charging", "destination_realm", "kamailio-ims.org")
 
 
    Default value is "[email protected]".
    Default value is "[email protected]".
 
 
-   Example 1.14.  service_context_id_rootparameter usage
+   Example 1.15. service_context_id_rootparameter usage
 ...
 ...
 modparam("ims_charging", "service_context_id_root", "[email protected]")
 modparam("ims_charging", "service_context_id_root", "[email protected]")
 ...
 ...
 
 
-4.15.  service_context_id_ext(string)
+4.16. service_context_id_ext(string)
 
 
    This defines the extension of the Service-Context-Id AVP used in the
    This defines the extension of the Service-Context-Id AVP used in the
    diameter-message.
    diameter-message.
 
 
    Default value is "ext".
    Default value is "ext".
 
 
-   Example 1.15.  service_context_id_extparameter usage
+   Example 1.16. service_context_id_extparameter usage
 ...
 ...
 modparam("ims_charging", "service_context_id_ext", "ext2")
 modparam("ims_charging", "service_context_id_ext", "ext2")
 ...
 ...
 
 
-4.16.  service_context_id_mnc(string)
+4.17. service_context_id_mnc(string)
 
 
    This defines Mobile-Network-Code (MNC) of the Service-Context-Id AVP
    This defines Mobile-Network-Code (MNC) of the Service-Context-Id AVP
    used in the diameter-message.
    used in the diameter-message.
 
 
    Default value is "01".
    Default value is "01".
 
 
-   Example 1.16.  service_context_id_mncparameter usage
+   Example 1.17. service_context_id_mncparameter usage
 ...
 ...
 modparam("ims_charging", "service_context_id_mnc", "42")
 modparam("ims_charging", "service_context_id_mnc", "42")
 ...
 ...
 
 
-4.17.  service_context_id_mcc(string)
+4.18. voice_service_identifier(string)
+
+   This defines the service identifier to be used for charging voice.
+
+   Default value is "1000".
+
+   Example 1.18. voice_service_identifierparameter usage
+...
+modparam("ims_charging", "voice_service_identifier", "1000")
+...
+
+4.19. voice_rating_group(string)
+
+   This defines the rating group to be used for charging voice.
+
+   Default value is "100".
+
+   Example 1.19. voice_rating_groupparameter usage
+...
+modparam("ims_charging", "voice_rating_group", "100")
+...
+
+4.20. video_service_identifier(string)
+
+   This defines the service identifier to be used for charging video.
+
+   Default value is "1001".
+
+   Example 1.20. video_service_identifierparameter usage
+...
+modparam("ims_charging", "video_service_identifier", "1000")
+...
+
+4.21. video_rating_group(string)
+
+   This defines the rating group to be used for charging video.
+
+   Default value is "200".
+
+   Example 1.21. video_rating_groupparameter usage
+...
+modparam("ims_charging", "video_rating_group", "100")
+...
+
+4.22. service_context_id_mcc(string)
 
 
    This defines Mobile-Country-Code (MCC) of the Service-Context-Id AVP
    This defines Mobile-Country-Code (MCC) of the Service-Context-Id AVP
    used in the diameter-message.
    used in the diameter-message.
@@ -562,54 +649,55 @@ modparam("ims_charging", "service_context_id_mnc", "42")
 
 
    Default value is "001".
    Default value is "001".
 
 
-   Example 1.17.  service_context_id_mccparameter usage
+   Example 1.22. service_context_id_mccparameter usage
 ...
 ...
 modparam("ims_charging", "service_context_id_mcc", "262")
 modparam("ims_charging", "service_context_id_mcc", "262")
 ...
 ...
 
 
-4.18.  service_context_id_release(string)
+4.23. service_context_id_release(string)
 
 
    This defines Release of the Service-Context-Id AVP used in the
    This defines Release of the Service-Context-Id AVP used in the
    diameter-message.
    diameter-message.
 
 
    Default value is "8" (Release 8).
    Default value is "8" (Release 8).
 
 
-   Example 1.18.  service_context_id_releaseparameter usage
+   Example 1.23. service_context_id_releaseparameter usage
 ...
 ...
 modparam("ims_charging", "service_context_id_release", "262")
 modparam("ims_charging", "service_context_id_release", "262")
 ...
 ...
 
 
 5. Functions
 5. Functions
 
 
-   5.1. Ro_CCR(route_name, direction, charge_type, unit_type,
-          reservation_units)
+   5.1. Ro_CCR(route_name, direction, reservation_units, domain,
+          incoming_trunk_id, outgoing_trunk_id
 
 
-5.1.  Ro_CCR(route_name, direction, charge_type, unit_type,
-reservation_units)
+   5.2. Ro_set_session_id_avp()
+
+5.1. Ro_CCR(route_name, direction, reservation_units, domain,
+incoming_trunk_id, outgoing_trunk_id
 
 
    Perform a CCR on Diameter Ro interface for Charging
    Perform a CCR on Diameter Ro interface for Charging
 
 
    Meaning of the parameters is as follows:
    Meaning of the parameters is as follows:
-     * route_nameroute to be executed upon reception of charging requests
-     * direction"orig"inating or "term"inating
-     * charge_type"IEC" = Immediate Event Charging, "ECUR" - Event
-       Charging with Unit Reservation or "SCUR" - Session Charging with
-       Unit Reservation.
-       (Note: At the moment only SCUR is supported)
-     * unit_typeTypes of the unit to be requested
-       (unused at the moment)
-     * reservation_unitshow many units (at the moment seconds) should be
+     * route_name route to be executed upon reception of charging requests
+     * direction "orig"inating or "term"inating
+     * reservation_units how many units (at the moment seconds) should be
        reservated at the moment.
        reservated at the moment.
+     * domain Logical domain within registrar.
+     * incoming_trunk_id Identifies the trunk group from which this
+       originates.
+     * outgoing_trunk_id Identifies the trunk group where this will be
+       terminated.
 
 
    This function can be used from REQUEST_ROUTE.
    This function can be used from REQUEST_ROUTE.
 
 
    This method is executed asynchronously. See example on how to retrieve
    This method is executed asynchronously. See example on how to retrieve
    return value.
    return value.
 
 
-   Example 1.19. Ro_CCR
+   Example 1.24. Ro_CCR
 ...
 ...
   xlog("L_DBG","Sending initial CCR Request for call\n");
   xlog("L_DBG","Sending initial CCR Request for call\n");
-  Ro_CCR("CHARGING_CCR_REPLY", "orig", "SCUR", "", "30");
+    Ro_CCR("RO_ASYNC_TERM_REPLY", "term", 30, "1", "1");
 }
 }
 
 
 route[CHARGING_CCR_REPLY]
 route[CHARGING_CCR_REPLY]
@@ -636,6 +724,18 @@ n");
   }
   }
 ...
 ...
 
 
+5.2. Ro_set_session_id_avp()
+
+   Sets the Ro session ID to an AVP for use in the config file
+
+   This function can be used from REQUEST_ROUTE or ONREPLY_ROUTE.
+
+   Example 1.25. Ro_set_session_id_avp
+...
+            Ro_set_session_id_avp();
+            xlog("L_DBG","Ro session AVP has been set: $avp(ro_session_id)\n");
+...
+
 6. Statistics
 6. Statistics
 
 
    6.1. Initial CCRs (initial_ccrs)
    6.1. Initial CCRs (initial_ccrs)

+ 2 - 2
modules/ims_charging/doc/ims_charging_admin.xml

@@ -32,7 +32,7 @@
 
 
       <itemizedlist>
       <itemizedlist>
         <listitem>
         <listitem>
-          <para>Dialog_ng</para>
+          <para>ims_dialog</para>
         </listitem>
         </listitem>
 
 
         <listitem>
         <listitem>
@@ -931,4 +931,4 @@ route[CHARGING_CCR_REPLY]
       <para>Number of calls that were killed due to lack of credit.</para>
       <para>Number of calls that were killed due to lack of credit.</para>
     </section>
     </section>
   </section>
   </section>
-</chapter>
+</chapter>