As discused on #1569, here is a new feature request.
### What this feature request is all about?
Currently there is a feature on topos module, which allows Kamailio to disable topos on
requests destined to specific IP address. This event_route however has a drawback since it
is only usable if the specified IP address is never sending requests to Kamailio.
Consider a following scenario:
Asterisk is sending an INVITE to Kamailio, which will reroute it to Provider. Kamailio has
event_route 'topos:msg-outgoing' enabled and there is the following statement:
```
event_route[topos:msg-outgoing] {
if($sndto(ip)=="89.18.234.47") {
xlog("L_INFO","Not going to topos this request\n");
drop;
}
}
```
In this case 10.20.234.47 is IP address of Asterisk since system admin does not want to
hide topology when requests are going to Asterisk. However after this INVITE call is ended
from the receiving end, which is causing a BYE message coming from Provider to Asterisk.
On this BYE request, topos event_route is triggered and BYE message is dropped out of
topos process. Then the originally masked contact uri stays in the message and BYE request
does not find its final destination.
### What should be done?
Current event_route is designed to only make a decision by destination IP address for
speed reasons. To be able to properly investigate each SIP message throughly before making
a decision to topos or not, we need to have another event_route. An example of this
event_route call could be as follows:
```
event_route[topos:msg-parse] {
if($rd=="89.18.234.47" && $rm != "BYE") {
xlog("L_INFO","Not going to topos this request <$rm> from
<$si> to <$rd>\n");
drop;
}
}
```
--
You are receiving this because you are subscribed to this thread.
Reply to this email directly or view it on GitHub:
https://github.com/kamailio/kamailio/issues/1573