MCPcopy Create free account
hub / github.com/OpenSIPS/opensips / mod_init

Function mod_init

modules/call_control/call_control.c:1112–1207  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

1110//
1111
1112static int
1113mod_init(void)
1114{
1115 pv_spec_t avp_spec;
1116
1117 // initialize the canonical_uri_avp structure
1118 if (canonical_uri_avp.spec.s==NULL || *(canonical_uri_avp.spec.s)==0) {
1119 LM_ERR("missing/empty canonical_uri_avp parameter. using default.\n");
1120 canonical_uri_avp.spec.s = CANONICAL_URI_AVP_SPEC;
1121 }
1122 canonical_uri_avp.spec.len = strlen(canonical_uri_avp.spec.s);
1123 if (pv_parse_spec(&(canonical_uri_avp.spec), &avp_spec)==0 || avp_spec.type!=PVT_AVP) {
1124 LM_CRIT("invalid AVP specification for canonical_uri_avp: `%s'\n", canonical_uri_avp.spec.s);
1125 return -1;
1126 }
1127 if (pv_get_avp_name(0, &(avp_spec.pvp), &(canonical_uri_avp.name), &(canonical_uri_avp.type))!=0) {
1128 LM_CRIT("invalid AVP specification for canonical_uri_avp: `%s'\n", canonical_uri_avp.spec.s);
1129 return -1;
1130 }
1131
1132 // initialize the signaling_ip_avp structure
1133 if (signaling_ip_avp.spec.s==NULL || *(signaling_ip_avp.spec.s)==0) {
1134 LM_ERR("missing/empty signaling_ip_avp parameter. using default.\n");
1135 signaling_ip_avp.spec.s = SIGNALING_IP_AVP_SPEC;
1136 }
1137 signaling_ip_avp.spec.len = strlen(signaling_ip_avp.spec.s);
1138 if (pv_parse_spec(&(signaling_ip_avp.spec), &avp_spec)==0 || avp_spec.type!=PVT_AVP) {
1139 LM_CRIT("invalid AVP specification for signaling_ip_avp: `%s'\n", signaling_ip_avp.spec.s);
1140 return -1;
1141 }
1142 if (pv_get_avp_name(0, &(avp_spec.pvp), &(signaling_ip_avp.name), &(signaling_ip_avp.type))!=0) {
1143 LM_CRIT("invalid AVP specification for signaling_ip_avp: `%s'\n", signaling_ip_avp.spec.s);
1144 return -1;
1145 }
1146
1147 // initialize the call_limit_avp structure
1148 if (call_limit_avp.spec.s==NULL || *(call_limit_avp.spec.s)==0) {
1149 LM_ERR("missing/empty call_limit_avp parameter. using default.\n");
1150 call_limit_avp.spec.s = CALL_LIMIT_AVP_SPEC;
1151 }
1152 call_limit_avp.spec.len = strlen(call_limit_avp.spec.s);
1153 if (pv_parse_spec(&(call_limit_avp.spec), &avp_spec)==0 || avp_spec.type!=PVT_AVP) {
1154 LM_CRIT("invalid AVP specification for call_limit_avp: `%s'\n", call_limit_avp.spec.s);
1155 return -1;
1156 }
1157 if (pv_get_avp_name(0, &(avp_spec.pvp), &(call_limit_avp.name), &(call_limit_avp.type))!=0) {
1158 LM_CRIT("invalid AVP specification for call_limit_avp: `%s'\n", call_limit_avp.spec.s);
1159 return -1;
1160 }
1161
1162 // initialize the call_token_avp structure
1163 if (call_token_avp.spec.s==NULL || *(call_token_avp.spec.s)==0) {
1164 LM_ERR("missing/empty call_token_avp parameter. using default.\n");
1165 call_token_avp.spec.s = CALL_TOKEN_AVP_SPEC;
1166 }
1167 call_token_avp.spec.len = strlen(call_token_avp.spec.s);
1168 if (pv_parse_spec(&(call_token_avp.spec), &avp_spec)==0 || avp_spec.type!=PVT_AVP) {
1169 LM_CRIT("invalid AVP specification for call_token_avp: `%s'\n", call_token_avp.spec.s);

Callers

nothing calls this directly

Calls 4

pv_parse_specFunction · 0.85
pv_get_avp_nameFunction · 0.85
load_dlg_apiFunction · 0.85
get_flag_id_by_nameFunction · 0.85

Tested by

no test coverage detected