| 189 | |
| 190 | |
| 191 | static int dm_check_config(void) |
| 192 | { |
| 193 | if (!dm_realm.s) { |
| 194 | LM_ERR("the 'realm' modparam is not set\n"); |
| 195 | return -1; |
| 196 | } |
| 197 | dm_realm.len = strlen(dm_realm.s); |
| 198 | |
| 199 | if (!dm_peer_identity.s) { |
| 200 | LM_ERR("the 'peer_identity' modparam is not set\n"); |
| 201 | return -1; |
| 202 | } |
| 203 | dm_peer_identity.len = strlen(dm_peer_identity.s); |
| 204 | if (dm_peer_identity.len == 0) { |
| 205 | LM_ERR("the 'peer_identity' modparam cannot be empty\n"); |
| 206 | return -1; |
| 207 | } |
| 208 | |
| 209 | LM_INFO("Diameter server support enabled\n"); |
| 210 | |
| 211 | if (get_script_route_ID_by_name_str( |
| 212 | &str_init(DMEV_REQ_NAME), sroutes->event, EVENT_RT_NO) < 0) { |
| 213 | LM_NOTICE("Diameter server event "DMEV_REQ_NAME" not used in opensips script" |
| 214 | ", auto-replying error code 3001 to any Diameter request\n"); |
| 215 | dm_server_autoreply_error = 1; |
| 216 | } else if (!is_script_func_used("dm_send_answer", -1)) { |
| 217 | LM_NOTICE("Diameter 'dm_send_answer()' function not used in opensips script" |
| 218 | ", auto-replying error code 3001 to any Diameter request\n"); |
| 219 | dm_server_autoreply_error = 1; |
| 220 | } |
| 221 | |
| 222 | return 0; |
| 223 | } |
| 224 | |
| 225 | |
| 226 | static void mod_destroy(void) |
no test coverage detected