Add Vendor-Specific-Application-Id in CER for advertising the diameter applications supported (#589)
* Add Vendor-Specific-Application-Id in CER of PCRF Not advertising a Vendor-Specific-Application-Id in CER may result in Diameter Peer rejecting the CER with a DIAMETER_NO_COMMON_APPLICATION error * Add Vendor-Specific-Application-Id in CER of HSS and MME Not advertising a Vendor-Specific-Application-Id in CER may result in Diameter Peer rejecting the CER with a DIAMETER_NO_COMMON_APPLICATION error
This commit is contained in:
parent
e2d682d142
commit
a9ad43a4ef
|
@ -756,11 +756,32 @@ int hss_fd_init(void)
|
|||
{
|
||||
int ret;
|
||||
struct disp_when data;
|
||||
struct dict_object * s6a_app, * vnd;
|
||||
|
||||
ret = ogs_diam_init(FD_MODE_SERVER,
|
||||
hss_self()->diam_conf_path, hss_self()->diam_config);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
struct dict_vendor_data vnd_data;
|
||||
vnd_data.vendor_id = 10415;
|
||||
vnd_data.vendor_name = (char *) "3GPP";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict,
|
||||
DICT_VENDOR, &vnd_data, NULL, &vnd);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
struct dict_application_data s6a_app_data;
|
||||
|
||||
s6a_app_data.application_id = 16777251;
|
||||
s6a_app_data.application_name = (char *) "S6A";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict, DICT_APPLICATION,
|
||||
&s6a_app_data, NULL, &s6a_app);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
ret = fd_disp_app_support(s6a_app, vnd, 1, 0);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
/* Install objects definitions for this application */
|
||||
ret = ogs_diam_s6a_init();
|
||||
ogs_assert(ret == 0);
|
||||
|
|
|
@ -1139,11 +1139,32 @@ static void mme_s6a_ula_cb(void *data, struct msg **msg)
|
|||
int mme_fd_init(void)
|
||||
{
|
||||
int ret;
|
||||
struct dict_object * s6a_app, * vnd;
|
||||
|
||||
ret = ogs_diam_init(FD_MODE_CLIENT,
|
||||
mme_self()->diam_conf_path, mme_self()->diam_config);
|
||||
ogs_assert(ret == OGS_OK);
|
||||
|
||||
struct dict_vendor_data vnd_data;
|
||||
vnd_data.vendor_id = 10415;
|
||||
vnd_data.vendor_name = (char *) "3GPP";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict,
|
||||
DICT_VENDOR, &vnd_data, NULL, &vnd);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
struct dict_application_data s6a_app_data;
|
||||
|
||||
s6a_app_data.application_id = 16777251;
|
||||
s6a_app_data.application_name = (char *) "S6A";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict, DICT_APPLICATION,
|
||||
&s6a_app_data, NULL, &s6a_app);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
ret = fd_disp_app_support(s6a_app, vnd, 1, 0);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
/* Install objects definitions for this application */
|
||||
ret = ogs_diam_s6a_init();
|
||||
ogs_assert(ret == OGS_OK);
|
||||
|
|
|
@ -22,11 +22,41 @@
|
|||
|
||||
int pcrf_fd_init(void)
|
||||
{
|
||||
int rv;
|
||||
int ret = ogs_diam_init(FD_MODE_CLIENT|FD_MODE_SERVER,
|
||||
int rv, ret;
|
||||
struct dict_object * gx_app, * rx_app, * vnd;
|
||||
|
||||
ret = ogs_diam_init(FD_MODE_CLIENT|FD_MODE_SERVER,
|
||||
pcrf_self()->diam_conf_path, pcrf_self()->diam_config);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
struct dict_vendor_data vnd_data;
|
||||
vnd_data.vendor_id = 10415;
|
||||
vnd_data.vendor_name = (char *) "3GPP";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict,
|
||||
DICT_VENDOR, &vnd_data, NULL, &vnd);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
struct dict_application_data gx_app_data, rx_app_data;
|
||||
|
||||
gx_app_data.application_id = 16777238;
|
||||
gx_app_data.application_name = (char *) "Gx";
|
||||
|
||||
rx_app_data.application_id = 16777236;
|
||||
rx_app_data.application_name = (char *) "Rx";
|
||||
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict, DICT_APPLICATION,
|
||||
&gx_app_data, NULL, &gx_app);
|
||||
ogs_assert(ret == 0);
|
||||
ret = fd_dict_new(fd_g_config->cnf_dict, DICT_APPLICATION,
|
||||
&rx_app_data, NULL, &rx_app);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
ret = fd_disp_app_support(gx_app, vnd, 1, 0);
|
||||
ogs_assert(ret == 0);
|
||||
ret = fd_disp_app_support(rx_app, vnd, 1, 0);
|
||||
ogs_assert(ret == 0);
|
||||
|
||||
rv = pcrf_gx_init();
|
||||
ogs_assert(rv == OGS_OK);
|
||||
rv = pcrf_rx_init();
|
||||
|
|
Loading…
Reference in New Issue