Hi Eduardo Lejarreta,
Thank you for your detailed reply.
What you are suggesting holds good for all those messages hits any
of the route segment in the script. But my struggle starts while dealing
with auto-responded messages like 100 Trying, ACK and 200 OK against the
CANCEL message etc.
That's why I was thinking of implementing another pseudo variable
capturing necessary details and still available at [network:msg] event
route though it is meant to have only raw packets.
Also I can see corex module works in binary mode only, either to
compress/encrypt or decompress/decrypt. But Kamailio being a proxy need
to deal with gateways at one end and end user client at other (In very
general usage terms. though many more possibilities are there) and the
primary purpose for which it was written was to deal all these custom
manipulations between the end user client and kamailio but it forces
kamailio to treat the gateways in the same manner which I think defeats
in someway what kamailio has been doing so far. E.g.
client<----TLS---->Kamailio<---UDP/TCP----->External Gateways.
Olle,
Hope you can understand where I am heading towards.
Thanks & Regards,
Niraj
On Wednesday 22 June 2016 06:06 PM, Eduardo Lejarreta wrote:
Hi Niraj.
Read module help:
"
Please note this event route is meant to prepare the message for
on-wire communication, e.g. to do custom encryption or decryption,
compression/decompression etc. of the message sent to or received from
remote host. Therefore, except text operations, no module fucntions or
pseudo variables are available in this event route.
"
Forget to access or change someother than $avp(msg) like $si or $sp.
But think $avp(something) is still available.
On that route you can do something like these examples:
1.- You can acceso $si and $sp if you previously have assinegd them to
an $avp(var):
(with $avp(source_ip) previously assigned on any other route)
event_route[network:msg] {
xlog("L_INFO","ONREPLY: NETWORK_MSG $avp(source_ip)\n");
}
2.- You can also try to search on headers and do something like this
event_route[network:msg] {
if ( !is_incoming() ) {
if ( $mb =~ ".*application/sdp.*" ){
if ( $mb =~ ".*c=IN IP4 194\.30\.0\.82.*" ) {
xlog("L_DEBUG","EVENT_ROUTE: NETWORK_MSG
'$mb'\n");
}else{
$avp(msg) = $mb;
$avp(msg) = "";
xlog("L_INFO","EVENT_ROUTE: NETWORK_MSG: DROP de
MENSAJE: '$mb' \n");
}
}
}
}
Hope this helps you.
Regards.
Eduardo Lejarreta.
El 22.06.2016 12:19, Olle E. Johansson escribió:
On 21 Jun
2016, at 13:03, Niraj <niraj.r(a)sabsebolo.com> wrote:
Hi Olle,
Thanks for your reply. But I beg to differ that any other pseudo
variable available in this module apart from $mb and msg_avp. I have
already tried to use those variables but they all give <null> value.
I think
we must be talking about two different things. I talk about
the script language - are you talking about
C source code development?
/O
Thanks,
Niraj
On Tuesday 21 June 2016 04:23 PM, Olle E. Johansson wrote:
> On 21 Jun 2016, at 12:19, Niraj
<niraj.r(a)sabsebolo.com> wrote:
>
> Hi,
> Corex module has only raw SIP message and no other pseudo
> variables available. Can anybody shade some light on how to get
> source and destination IP and port details for that particular SIP
> message?
I think you need to read through the pseudovariable cookbook
http://www.kamailio.org/wiki/cookbooks/4.4.x/pseudovariables
You will find all you ask for and much more in that document!
/O
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Thanks & Regards,
Niraj Roy
Mob: +91 9426554400
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
_______________________________________________
sr-dev mailing list
sr-dev(a)lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-dev
--
Thanks & Regards,
Niraj Roy
Mob: +91 9426554400