/** * @brief notification response callback */ int notification_resp_callback_f(struct sip_msg* msg, int code, dmq_node_t* node, void* param) { int ret; int nodes_recv; LM_DBG("notification_callback_f triggered [%p %d %p]\n", msg, code, param); if(code == 200) { nodes_recv = extract_node_list(node_list, msg); LM_DBG("received %d new or changed nodes\n", nodes_recv); if (dmq_init_callback_done && !*dmq_init_callback_done) { *dmq_init_callback_done = 1; run_init_callbacks(); } } else if(code == 408) { /* deleting node - the server did not respond */ LM_ERR("deleting server %.*s because of failed request\n", STR_FMT(&node->orig_uri)); if (STR_EQ(node->orig_uri, dmq_notification_address)) { LM_ERR("not deleting notification_peer\n"); return 0; } ret = del_dmq_node(node_list, node); LM_DBG("del_dmq_node returned %d\n", ret); } return 0; }
/** * @brief notification response callback */ int notification_resp_callback_f(struct sip_msg* msg, int code, dmq_node_t* node, void* param) { int ret; LM_DBG("notification_callback_f triggered [%p %d %p]\n", msg, code, param); if(code == 408) { /* deleting node - the server did not respond */ LM_ERR("deleting server %.*s because of failed request\n", STR_FMT(&node->orig_uri)); ret = del_dmq_node(node_list, node); LM_DBG("del_dmq_node returned %d\n", ret); } return 0; }