|
|
|
@ -25,11 +25,12 @@ route[HANDLE_MESSAGE] |
|
|
|
|
|
|
|
route[MESSAGE_INBOUND] |
|
|
|
{ |
|
|
|
$var(key) = "kamailio@MY_HOSTNAME"; |
|
|
|
route(AUTH_HEADERS_JSON); |
|
|
|
$var(Payload) = $_s({"Event-Category" : "message", "Event-Name" : "inbound", "Call-ID" : "$ci", "Message-ID" : "$ci", "Route-Type" : "onnet", "Route-ID" : "sip", "From" : "$fU", "To" : "$tU", "Body" : "$rb", "Custom-SIP-Headers" : $var(headers_json), "Msg-ID" : "$uuid(g)"}); |
|
|
|
$var(Payload) = $_s({"Event-Category" : "sms", "Event-Name" : "inbound", "Call-ID" : "$ci", "Message-ID" : "$ci", "Route-Type" : "onnet", "Route-ID" : "$(var(key){kz.encode})", "From" : "$fU", "To" : "$tU", "Body" : "$rb", "Custom-SIP-Headers" : $var(headers_json), "Msg-ID" : "$uuid(g)"}); |
|
|
|
|
|
|
|
$var(exchange) = "sms"; |
|
|
|
$var(RoutingKey) = $_s(message.inbound.onnet.$(ci{kz.encode})); |
|
|
|
$var(exchange) = "im"; |
|
|
|
$var(RoutingKey) = $_s(sms.inbound.onnet.$(ci{kz.encode})); |
|
|
|
xlog("L_INFO", "$ci|msg|sending inbound message $var(RoutingKey) => $var(Payload)\n"); |
|
|
|
kazoo_publish($var(exchange), $var(RoutingKey), $var(Payload)); |
|
|
|
sl_send_reply("200", "OK"); |
|
|
|
@ -37,10 +38,10 @@ route[MESSAGE_INBOUND] |
|
|
|
|
|
|
|
} |
|
|
|
|
|
|
|
event_route[kazoo:consumer-event-message-route] |
|
|
|
event_route[kazoo:consumer-event-sms-outbound] |
|
|
|
{ |
|
|
|
xlog("L_INFO", "$(kzE{kz.json,Message-ID})|log|received message outbound for $(kzE{kz.json,Endpoints[0].To-DID})\n"); |
|
|
|
$var(from_uri) = $_s(sip:$(kzE{kz.json,From})); |
|
|
|
$var(from_uri) = $_s(sip:$(kzE{kz.json,From})@$(kzE{kz.json,Custom-Vars.Realm})); |
|
|
|
$var(to_uri) = $_s(sip:$(kzE{kz.json,Endpoints[0].To-Username})@$(kzE{kz.json,Endpoints[0].To-Realm})); |
|
|
|
$uac_req(method)="MESSAGE"; |
|
|
|
$uac_req(body)= $kzE; |
|
|
|
@ -73,17 +74,19 @@ route[MESSAGE_ROUTE] |
|
|
|
|
|
|
|
onreply_route[MESSAGE_REPLY] |
|
|
|
{ |
|
|
|
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"}); |
|
|
|
$var(exchange) = "targeted"; |
|
|
|
$var(RK) = $avp(server_id); |
|
|
|
kazoo_publish($var(exchange), $var(RK), $var(Payload)); |
|
|
|
if($T_reply_code < 300) { |
|
|
|
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" : "delivered"}); |
|
|
|
$var(exchange) = "targeted"; |
|
|
|
$var(RK) = $avp(server_id); |
|
|
|
kazoo_publish($var(exchange), $var(RK), $var(Payload)); |
|
|
|
} |
|
|
|
} |
|
|
|
|
|
|
|
failure_route[MESSAGE_FAULT] |
|
|
|
{ |
|
|
|
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"}); |
|
|
|
$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(exchange) = "targeted"; |
|
|
|
$var(RK) = $avp(server_id); |
|
|
|
kazoo_publish($var(exchange), $var(RK), $var(Payload)); |
|
|
|
@ -92,7 +95,7 @@ failure_route[MESSAGE_FAULT] |
|
|
|
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, "federate": true }); |
|
|
|
$var(payload) = $_s({"name": "sms", "exchange": "im", "type": "topic", "queue": "MSG-QUEUE-MY_HOSTNAME", "routing": "sms.outbound.$(var(key){kz.encode}).*", "no_ack": false, "federate": true }); |
|
|
|
kazoo_subscribe("$var(payload)"); |
|
|
|
} |
|
|
|
|
|
|
|
|