Hello,
I used from kamailio with MMTel features as AS in my IMS scenario and I wanted to send UDR diameter request from AS to my HSS. According to my study I should use "diameter_request" or "diameter_request_async" in ims_diameter_server module . but some problem exists in diameter_request function which caused "json" string as input of "diameter_request" ignored and fault happened. I added parse and checking "json" string in diameter_request function in ims_diameter_server.c file :
if (message) { if (get_str_fparam(&s_message, msg, (fparam_t*)message) < 0) { LM_ERR("failed to get json string\n"); return -1; } LM_DBG("json %.*s\n", s_message.len, s_message.s); }
also cdp_get_session function in cdp module has problem with "lock and unlock session" and " AAASessionsLock(hash); " doesn't work correctly. I comment " AAASessionsLock(hash);" and " AAASessionsUnlock(hash);"
I recompiled ims_diameter_server and cdp modules again
called below part in request_route of my configuration :
if(is_method("REGISTER")) { diameter_request("hss domain address", "16777217", "306", "{ 'avpCode':263 , ....}"); } this worked correctly and UDR request sent to hss .
Hi Maryam,
thanks for the report. Would be great if you could create for this extensions/bugfixes a pull request on our github tracker. Then it can be reviewed and integrated it into the code.
Cheers,
Henning
Am 25.08.19 um 07:22 schrieb Maryam Baghdadi: Hello,
I used from kamailio with MMTel features as AS in my IMS scenario and I wanted to send UDR diameter request from AS to my HSS. According to my study I should use "diameter_request" or "diameter_request_async" in ims_diameter_server module . but some problem exists in diameter_request function which caused "json" string as input of "diameter_request" ignored and fault happened. I added parse and checking "json" string in diameter_request function in ims_diameter_server.c file :
if (message) { if (get_str_fparam(&s_message, msg, (fparam_t*)message) < 0) { LM_ERR("failed to get json string\n"); return -1; } LM_DBG("json %.*s\n", s_message.len, s_message.s); }
also cdp_get_session function in cdp module has problem with "lock and unlock session" and " AAASessionsLock(hash); " doesn't work correctly. I comment " AAASessionsLock(hash);" and " AAASessionsUnlock(hash);"
I recompiled ims_diameter_server and cdp modules again
called below part in request_route of my configuration :
if(is_method("REGISTER")) { diameter_request("hss domain address", "16777217", "306", "{ 'avpCode':263 , ....}"); } this worked correctly and UDR request sent to hss .
_______________________________________________ Kamailio (SER) - Development Mailing List sr-dev@lists.kamailio.orgmailto:sr-dev@lists.kamailio.org https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
-- Henning Westerholt - https://skalatan.de/blog/ Kamailio services - https://skalatan.de/services