Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- route{
- route("SANITY_CHECKS");
- route("MATCH_DIALOG");
- $avp(server_ip)="XXX.XXX.X.XXX";
- $avp(term-ip) = $Ri;
- $avp(source-ip)= $si; #source ip address of message
- $avp(source-port)=$sp; # source port of message
- $avp(src_ipz_ip) = $Ri;
- $avp(dest-ip)=$od;
- $avp(dest-port)=$op;
- $avp(dst_type) = "CARRIER";
- $avp(use-rtpproxy)="YES";
- $avp(ruri)=$rU; #username in request URI
- xlog("L_INFO","[$time(%Y-%m-%d %H:%M:%S)] Incoming Request CI:$ci RM:$rm FU:$fU TU:$tU SI:$avp(source-ip) SP:$avp(source-port) PC:$proto TE:$avp(term-ip) \n");
- if(method=="INVITE") {
- route("PROCESS_INVITE");
- } else if(method=="CANCEL") {
- route("PROCESS_CANCEL");
- } else if(method=="ACK") {
- route("PROCESS_ACK");
- } else if(method=="OPTIONS") {
- route("PROCESS_OPTIONS");
- } else if(method=="REGISTER"){
- route("PROCESS_REGISTER");
- } else {
- sl_send_reply("501", "Method is not implemented"); ### From here that funny 501 is coming....
- }
- exit;
- }
- route[PROCESS_INVITE] {
- route("SETCDR");
- if(t_check_trans()) {
- drop();
- }
- route("CHECK_NAT");
- create_dialog();
- do_accounting("aaa","cdr|failed");
- route("REALY_ROUTE");
- exit;
- }
- route[RELAY_ROUTE] {
- if(is_method("INVITE|UPDATE")) {
- xlog("L_INFO","CI:$ci In Relay Route RU:$ru DU:$du Tu:$tu TU:$tU CT:$ct\n");
- if(!has_totag() && is_method("INVITE") && !isflagset(15)) {
- xlog("L_INFO","CI:$ci Topology_Hiding Call\n");
- setflag(15);
- topology_hiding("UC");
- # record_route();
- }
- if($avp(use-rtpproxy)=="YES") {
- route(PROCESS_RTPPROXY_OFFER);
- }
- xlog("L_INFO","CI:$ci Routing Call IP:$avp(dest-ip) PORT:$avp(dest-port)\n");
- $avp(call_status)="Failed";
- t_on_branch("DEFAULT_BRANCH_ROUTE");
- t_on_reply("DEFAULT_REPLY_ROUTE");
- }
- xlog("L_INFO","DAILOG STATUS:::: $DLG_end_reason $DLG_did $DLG_status $DLG_count\n");
- # record_route();
- if (!t_relay()) {
- sl_reply_error();
- }
- exit;
- }
- route[MATCH_DIALOG] {
- xlog("L_INFO",":::::DAILOG STATUS:::: $rm: $DLG_end_reason $DLG_did $DLG_status $DLG_count\n"); #HERE I AM GETTING most values null
- if(has_totag() && is_method("INVITE|ACK|BYE|UPDATE|REFER|PRACK|INFO") ) {
- xlog("L_INFO","INSIDE MATCH_DIALOG :::: $rm\n");
- # loose_route();
- xlog(" found match request to a dialog \n");
- if(topology_hiding_match()) { #THIS CONDITIONS FAILS FOR ALL REQUESTS
- if(is_method("BYE")) {
- rtpproxy_unforce();
- }
- route("RELAY_ROUTE");
- }
- }
- }
- route[PROCESS_ACK] {
- xlog("L_INFO","IN PROCESS ACK\n");
- if(t_check_trans()) {
- t_relay();
- }
- exit;
- }
Add Comment
Please, Sign In to add comment