diff --git a/src/modules/ims_charging/README b/src/modules/ims_charging/README index d195743197b..04d00ebb05b 100644 --- a/src/modules/ims_charging/README +++ b/src/modules/ims_charging/README @@ -39,29 +39,33 @@ Carlos Ruiz Diaz 4. Parameters 4.1. hash_size(int) - 4.2. interim_update_credits(int) - 4.3. timer_buffer(int) - 4.4. ro_forced_peer(string) - 4.5. ro_auth_expiry(integer) - 4.6. ro_auth_expiry(integer) - 4.7. cdp_event_latency(integer) - 4.8. cdp_event_threshold(integer) - 4.9. cdp_event_latency_log(integer) - 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.24. custom_user_avp (avp string) + 4.2. db_mode (int) + 4.3. db_url (string) + 4.4. interim_update_credits(int) + 4.5. timer_buffer(int) + 4.6. ro_forced_peer(string) + 4.7. ro_auth_expiry(integer) + 4.8. ro_auth_expiry(integer) + 4.9. cdp_event_latency(integer) + 4.10. cdp_event_threshold(integer) + 4.11. cdp_event_latency_log(integer) + 4.12. single_ro_session_per_dialog(integer) + 4.13. origin_host(string) + 4.14. origin_realm(string) + 4.15. destination_host(string) + 4.16. destination_realm(string) + 4.17. service_context_id_root(string) + 4.18. service_context_id_ext(string) + 4.19. service_context_id_mnc(string) + 4.20. voice_service_identifier(string) + 4.21. voice_rating_group(string) + 4.22. video_service_identifier(string) + 4.23. video_rating_group(string) + 4.24. service_context_id_mcc(string) + 4.25. service_context_id_release(string) + 4.26. custom_user_avp (avp string) + 4.27. vendor_specific_chargeinfo (int) + 4.28. vendor_specific_id (int) 5. Functions @@ -92,31 +96,35 @@ Carlos Ruiz Diaz List of Examples 1.1. hash_sizeparameter usage - 1.2. interim_update_creditsparameter usage - 1.3. timer_bufferparameter usage - 1.4. ro_forced_peerparameter usage - 1.5. ro_auth_expiryparameter usage - 1.6. ro_auth_expiryparameter usage - 1.7. cdp_event_latencyparameter usage - 1.8. cdp_event_thresholdparameter usage - 1.9. cdp_event_latency_logparameter usage - 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. custom_user_avpparameter usage - 1.25. Ro_CCR - 1.26. Ro_set_session_id_avp + 1.2. db_modeparameter usage + 1.3. db_urlparameter usage + 1.4. interim_update_creditsparameter usage + 1.5. timer_bufferparameter usage + 1.6. ro_forced_peerparameter usage + 1.7. ro_auth_expiryparameter usage + 1.8. ro_auth_expiryparameter usage + 1.9. cdp_event_latencyparameter usage + 1.10. cdp_event_thresholdparameter usage + 1.11. cdp_event_latency_logparameter usage + 1.12. single_ro_session_per_dialogparameter usage + 1.13. origin_hostparameter usage + 1.14. origin_realmparameter usage + 1.15. destination_hostparameter usage + 1.16. destination_realmparameter usage + 1.17. service_context_id_rootparameter usage + 1.18. service_context_id_extparameter usage + 1.19. service_context_id_mncparameter usage + 1.20. voice_service_identifierparameter usage + 1.21. voice_rating_groupparameter usage + 1.22. video_service_identifierparameter usage + 1.23. video_rating_groupparameter usage + 1.24. service_context_id_mccparameter usage + 1.25. service_context_id_releaseparameter usage + 1.26. custom_user_avpparameter usage + 1.27. vendor_specific_chargeinfoparameter usage + 1.28. vendor_specific_idparameter usage + 1.29. Ro_CCR + 1.30. Ro_set_session_id_avp Chapter 1. Admin Guide @@ -137,29 +145,33 @@ Chapter 1. Admin Guide 4. Parameters 4.1. hash_size(int) - 4.2. interim_update_credits(int) - 4.3. timer_buffer(int) - 4.4. ro_forced_peer(string) - 4.5. ro_auth_expiry(integer) - 4.6. ro_auth_expiry(integer) - 4.7. cdp_event_latency(integer) - 4.8. cdp_event_threshold(integer) - 4.9. cdp_event_latency_log(integer) - 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.24. custom_user_avp (avp string) + 4.2. db_mode (int) + 4.3. db_url (string) + 4.4. interim_update_credits(int) + 4.5. timer_buffer(int) + 4.6. ro_forced_peer(string) + 4.7. ro_auth_expiry(integer) + 4.8. ro_auth_expiry(integer) + 4.9. cdp_event_latency(integer) + 4.10. cdp_event_threshold(integer) + 4.11. cdp_event_latency_log(integer) + 4.12. single_ro_session_per_dialog(integer) + 4.13. origin_host(string) + 4.14. origin_realm(string) + 4.15. destination_host(string) + 4.16. destination_realm(string) + 4.17. service_context_id_root(string) + 4.18. service_context_id_ext(string) + 4.19. service_context_id_mnc(string) + 4.20. voice_service_identifier(string) + 4.21. voice_rating_group(string) + 4.22. video_service_identifier(string) + 4.23. video_rating_group(string) + 4.24. service_context_id_mcc(string) + 4.25. service_context_id_release(string) + 4.26. custom_user_avp (avp string) + 4.27. vendor_specific_chargeinfo (int) + 4.28. vendor_specific_id (int) 5. Functions @@ -335,29 +347,33 @@ Chapter 1. Admin Guide 4. Parameters 4.1. hash_size(int) - 4.2. interim_update_credits(int) - 4.3. timer_buffer(int) - 4.4. ro_forced_peer(string) - 4.5. ro_auth_expiry(integer) - 4.6. ro_auth_expiry(integer) - 4.7. cdp_event_latency(integer) - 4.8. cdp_event_threshold(integer) - 4.9. cdp_event_latency_log(integer) - 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.24. custom_user_avp (avp string) + 4.2. db_mode (int) + 4.3. db_url (string) + 4.4. interim_update_credits(int) + 4.5. timer_buffer(int) + 4.6. ro_forced_peer(string) + 4.7. ro_auth_expiry(integer) + 4.8. ro_auth_expiry(integer) + 4.9. cdp_event_latency(integer) + 4.10. cdp_event_threshold(integer) + 4.11. cdp_event_latency_log(integer) + 4.12. single_ro_session_per_dialog(integer) + 4.13. origin_host(string) + 4.14. origin_realm(string) + 4.15. destination_host(string) + 4.16. destination_realm(string) + 4.17. service_context_id_root(string) + 4.18. service_context_id_ext(string) + 4.19. service_context_id_mnc(string) + 4.20. voice_service_identifier(string) + 4.21. voice_rating_group(string) + 4.22. video_service_identifier(string) + 4.23. video_rating_group(string) + 4.24. service_context_id_mcc(string) + 4.25. service_context_id_release(string) + 4.26. custom_user_avp (avp string) + 4.27. vendor_specific_chargeinfo (int) + 4.28. vendor_specific_id (int) 4.1. hash_size(int) @@ -377,7 +393,30 @@ Chapter 1. Admin Guide modparam("ims_charging", "hash_size", 1024) ... -4.2. interim_update_credits(int) +4.2. db_mode (int) + + Should a database be used to store dialog information. + + Available database modes: 0 for no database, 1 for real-time mode and 2 + for shutdown mode. Mode 2 seems to be not fully implemented. + + Default value is 0 - no database is used. + + Example 1.2. db_modeparameter usage +... +modparam("ims_charging", "db_mode", 0) +... + +4.3. db_url (string) + + Default value is “mysql://kamailio:kamailiorw@localhost/kamailio” + + Example 1.3. db_urlparameter usage +... +modparam("ims_charging", "db_url", "dbdriver://username:password@dbhost/dbname") +... + +4.4. interim_update_credits(int) How much credit should be requested interim request? At the start of the call, we request the amount of seconds as per Command. For each @@ -385,24 +424,24 @@ modparam("ims_charging", "hash_size", 1024) Default value is 30. - Example 1.2. interim_update_creditsparameter usage + Example 1.4. interim_update_creditsparameter usage ... modparam("ims_charging", "interim_update_credits", 600) ... -4.3. timer_buffer(int) +4.5. timer_buffer(int) How many seconds before expiry of our credit should we request more credit? Default value is 8. - Example 1.3. timer_bufferparameter usage + Example 1.5. timer_bufferparameter usage ... modparam("ims_charging", "timer_buffer", 10) ... -4.4. ro_forced_peer(string) +4.6. ro_forced_peer(string) FQDN of Diameter Peer (OCS) to use for communication (CCR). If you use this, the routing defined in your diameter xml configuration file (CDP) @@ -411,48 +450,48 @@ modparam("ims_charging", "timer_buffer", 10) Default value is ''. - Example 1.4. ro_forced_peerparameter usage + Example 1.6. ro_forced_peerparameter usage ... modparam("ims_charging", "ro_forced_peer", "ocs.ims.smilecoms.com") ... -4.5. ro_auth_expiry(integer) +4.7. ro_auth_expiry(integer) This is the expiry length in seconds of the initiated Diameter sessions. Default value is 7200. - Example 1.5. ro_auth_expiryparameter usage + Example 1.7. ro_auth_expiryparameter usage ... modparam("ims_charging", "ro_auth_expiry", 14400) ... -4.6. ro_auth_expiry(integer) +4.8. ro_auth_expiry(integer) This is the expiry length in seconds of the initiated Diameter sessions. Default value is 7200. - Example 1.6. ro_auth_expiryparameter usage + Example 1.8. ro_auth_expiryparameter usage ... modparam("ims_charging", "ro_auth_expiry", 14400) ... -4.7. cdp_event_latency(integer) +4.9. cdp_event_latency(integer) 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. Default value is 1. - Example 1.7. cdp_event_latencyparameter usage + Example 1.9. cdp_event_latencyparameter usage ... modparam("ims_charging", "cdp_event_latency", 1) ... -4.8. cdp_event_threshold(integer) +4.10. cdp_event_threshold(integer) 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 @@ -461,12 +500,12 @@ modparam("ims_charging", "cdp_event_latency", 1) Default value is 500. - Example 1.8. cdp_event_thresholdparameter usage + Example 1.10. cdp_event_thresholdparameter usage ... modparam("ims_charging", "cdp_event_threshold", 500) ... -4.9. cdp_event_latency_log(integer) +4.11. cdp_event_latency_log(integer) 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 @@ -474,12 +513,12 @@ modparam("ims_charging", "cdp_event_threshold", 500) Default value is 0. - Example 1.9. cdp_event_latency_logparameter usage + Example 1.11. cdp_event_latency_logparameter usage ... modparam("ims_charging", "cdp_event_latency_log", 1) ... -4.10. single_ro_session_per_dialog(integer) +4.12. 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 @@ -490,56 +529,56 @@ modparam("ims_charging", "cdp_event_latency_log", 1) Default value is 0. - Example 1.10. single_ro_session_per_dialogparameter usage + Example 1.12. single_ro_session_per_dialogparameter usage ... modparam("ims_charging", "single_ro_session_per_dialog", 1) ... -4.11. origin_host(string) +4.13. origin_host(string) Origin host to be used in Diameter messages to charging-server. - Default value is "scscf.ims.smilecoms.com". + Default value is "". - Example 1.11. origin_hostparameter usage + Example 1.13. origin_hostparameter usage ... modparam("ims_charging", "origin_host", "scscf.kamailio-ims.org") ... -4.12. origin_realm(string) +4.14. origin_realm(string) Origin Realm to be used in Diameter messages to charging-server. - Default value is "ims.smilecome.com". + Default value is "". - Example 1.12. origin_realmparameter usage + Example 1.14. origin_realmparameter usage ... modparam("ims_charging", "origin_realm", "kamailio-ims.org") ... -4.13. destination_host(string) +4.15. destination_host(string) Destination host to be used in Diameter messages to charging-server. - Default value is 5s. + Default value is "hss.ims.smilecoms.com". - Example 1.13. destination_hostparameter usage + Example 1.15. destination_hostparameter usage ... modparam("ims_charging", "destination_host", "ocs.kamailio-ims.org") ... -4.14. destination_realm(string) +4.16. destination_realm(string) Destination realm to be used in Diameter messages to charging-server. Default value is "ims.smilecoms.com". - Example 1.14. destination_realmparameter usage + Example 1.16. destination_realmparameter usage ... modparam("ims_charging", "destination_realm", "kamailio-ims.org") ... -4.15. service_context_id_root(string) +4.17. service_context_id_root(string) This defines a root-element of the Service-Context-Id AVP used in the diameter-message @@ -570,80 +609,80 @@ modparam("ims_charging", "destination_realm", "kamailio-ims.org") Default value is "32260@3gpp.org". - Example 1.15. service_context_id_rootparameter usage + Example 1.17. service_context_id_rootparameter usage ... modparam("ims_charging", "service_context_id_root", "calls@kamailio-ims.org") ... -4.16. service_context_id_ext(string) +4.18. service_context_id_ext(string) This defines the extension of the Service-Context-Id AVP used in the diameter-message. Default value is "ext". - Example 1.16. service_context_id_extparameter usage + Example 1.18. service_context_id_extparameter usage ... modparam("ims_charging", "service_context_id_ext", "ext2") ... -4.17. service_context_id_mnc(string) +4.19. service_context_id_mnc(string) This defines Mobile-Network-Code (MNC) of the Service-Context-Id AVP used in the diameter-message. Default value is "01". - Example 1.17. service_context_id_mncparameter usage + Example 1.19. service_context_id_mncparameter usage ... modparam("ims_charging", "service_context_id_mnc", "42") ... -4.18. voice_service_identifier(string) +4.20. 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 + Example 1.20. voice_service_identifierparameter usage ... modparam("ims_charging", "voice_service_identifier", "1000") ... -4.19. voice_rating_group(string) +4.21. 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 + Example 1.21. voice_rating_groupparameter usage ... modparam("ims_charging", "voice_rating_group", "100") ... -4.20. video_service_identifier(string) +4.22. 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 + Example 1.22. video_service_identifierparameter usage ... modparam("ims_charging", "video_service_identifier", "1000") ... -4.21. video_rating_group(string) +4.23. 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 + Example 1.23. video_rating_groupparameter usage ... modparam("ims_charging", "video_rating_group", "100") ... -4.22. service_context_id_mcc(string) +4.24. service_context_id_mcc(string) This defines Mobile-Country-Code (MCC) of the Service-Context-Id AVP used in the diameter-message. @@ -653,24 +692,24 @@ modparam("ims_charging", "video_rating_group", "100") Default value is "001". - Example 1.22. service_context_id_mccparameter usage + Example 1.24. service_context_id_mccparameter usage ... modparam("ims_charging", "service_context_id_mcc", "262") ... -4.23. service_context_id_release(string) +4.25. service_context_id_release(string) This defines Release of the Service-Context-Id AVP used in the diameter-message. Default value is "8" (Release 8). - Example 1.23. service_context_id_releaseparameter usage + Example 1.25. service_context_id_releaseparameter usage ... modparam("ims_charging", "service_context_id_release", "262") ... -4.24. custom_user_avp (avp string) +4.26. custom_user_avp (avp string) When this parameter is set and the contents of the AVP is not empty, the User-AVP in the Ro-Charging-Request will be based on the this @@ -682,11 +721,37 @@ modparam("ims_charging", "service_context_id_release", "262") Default value: if not set, P-Asserted-Identity with a fallback to the From-Header is used. - Example 1.24. custom_user_avpparameter usage + Example 1.26. custom_user_avpparameter usage ... modparam("ims_charging", "custom_user_avp", "$avp(from_user)") ... +4.27. vendor_specific_chargeinfo (int) + + This parameter can be used to activate or deactivate the addition of + Vendor-Specific-Termination-Clause and + Vendor-Specific-Termination-Reason AVPs to the requests. To activate + set this parameter to 1. + + Default value is "0" (deactivated). + + Example 1.27. vendor_specific_chargeinfoparameter usage +... +modparam("ims_charging", "vendor_specific_chargeinfo", 1) +... + +4.28. vendor_specific_id (int) + + To set the ID of the Vendor-Specific information, not implemented right + now. + + Default value is "10". + + Example 1.28. vendor_specific_idparameter usage +... +modparam("ims_charging", "vendor_specific_id", 10) +... + 5. Functions 5.1. Ro_CCR(route_name, direction, reservation_units, @@ -714,7 +779,7 @@ outgoing_trunk_id) This method is executed asynchronously. See example on how to retrieve return value. - Example 1.25. Ro_CCR + Example 1.29. Ro_CCR ... xlog("L_DBG","Sending initial CCR Request for call\n"); Ro_CCR("RO_ASYNC_TERM_REPLY", "term", 30, "1", "1"); @@ -750,7 +815,7 @@ n"); This function can be used from REQUEST_ROUTE or ONREPLY_ROUTE. - Example 1.26. Ro_set_session_id_avp + Example 1.30. Ro_set_session_id_avp ... Ro_set_session_id_avp(); xlog("L_DBG","Ro session AVP has been set: $avp(ro_session_id)\n");