Browse Source

add federation and simplify reply handling

update-rsyslog-config
lazedo 7 years ago
parent
commit
d3fe43c7d0
1 changed files with 9 additions and 20 deletions
  1. +9
    -20
      kamailio/message-role.cfg

+ 9
- 20
kamailio/message-role.cfg View File

@ -80,37 +80,26 @@ route[MESSAGE_ROUTE]
onreply_route[MESSAGE_REPLY]
{
$var(Payload) = $_s({ "Event-Category" : "message", "Event-Name" : "delivery", "Call-ID" : "$ci", "Message-ID" : "$avp(message_id)" , "Delivery-Result-Code" : "sip:$T_reply_code", "Msg-ID" : "$avp(msg_id)" , "Status" : "Success"});
$var(RoutingKey) = $avp(server_id);
$var(exchange) = "targeted";
if($var(RoutingKey) == "") {
$var(exchange) = "sms";
$var(RoutingKey) = "message.delivery." + $(ci{kz.encode});
if($avp(server_id) == "") {
xlog("L_INFO", "$ci|log|sending success delivery message to $avp(server_id)\n");
$var(Payload) = $_s({"Event-Category" : "message", "Event-Name" : "delivery", "Call-ID" : "$ci", "Message-ID" : "$avp(message_id)" , "Delivery-Result-Code" : "sip:$T_reply_code", "Msg-ID" : "$avp(msg_id)" , "Status" : "Success"});
kazoo_publish("targeted", "$avp(server_id)", $var(Payload));
}
xlog("L_INFO", "$ci|log|sending delivery message\n");
kazoo_publish($var(exchange), $var(RoutingKey), $var(Payload));
}
failure_route[MESSAGE_FAULT]
{
$var(Payload) = $_s({ "Event-Category" : "message", "Event-Name" : "delivery", "Call-ID" : "$ci", "Message-ID" : "$avp(message_id)" , "Delivery-Result-Code" : "sip:$T_reply_code", "Msg-ID" : "$avp(msg_id)" , "Status" : "Failure"});
$var(RoutingKey) = $avp(server_id);
$var(exchange) = "targeted";
if($var(RoutingKey) == "") {
$var(exchange) = "sms";
$var(RoutingKey) = "message.delivery." + $(ci{kz.encode});
if($avp(server_id) != "") {
xlog("L_INFO", "$ci|log|sending failure delivery message to $avp(server_id)\n");
$var(Payload) = $_s({"Event-Category" : "message", "Event-Name" : "delivery", "Call-ID" : "$ci", "Message-ID" : "$avp(message_id)" , "Delivery-Result-Code" : "sip:$T_reply_code", "Msg-ID" : "$avp(msg_id)" , "Status" : "Failure"});
kazoo_publish("targeted", "$avp(server_id)", $var(Payload));
}
xlog("L_INFO", "$ci|log|sending delivery message\n");
kazoo_publish($var(exchange), $var(RoutingKey), $var(Payload));
}
route[MESSAGE_BINDINGS]
{
$var(key) = "kamailio@MY_HOSTNAME";
$var(payload) = $_s({"name": "sms", "exchange": "sms", "type": "topic", "queue": "MSG-QUEUE-MY_HOSTNAME", "routing": "message.route.$(var(key){kz.encode}).*", "no_ack": false });
$var(payload) = $_s({"name": "sms", "exchange": "sms", "type": "topic", "queue": "MSG-QUEUE-MY_HOSTNAME", "routing": "message.route.$(var(key){kz.encode}).*", "no_ack": false, "federate": true });
kazoo_subscribe("$var(payload)");
}


Loading…
Cancel
Save