Here is the new function you added:
+int pv_get_raw_msg(sip_msg_t *msg, pv_param_t *param,
+ pv_value_t *res)
+{
+ str sb;
+ if(msg==NULL || res==NULL)
+ return -1;
+ sb.s = msg->buf;
+ sb.len = msg->len;
+ return pv_get_strval(msg, param, res, &sb);
+}
And next is the existing function for $mb:
int pv_get_msg_buf(struct sip_msg *msg, pv_param_t *param,
pv_value_t *res)
{
str s;
if(msg==NULL)
return -1;
s.s = msg->buf;
s.len = msg->len;
return pv_get_strval(msg, param, res, &s);
}
They are the same apart of variables, so no matter where they will be
used (before or after event route processing), they point to the same
buffer, therefore they will return the same.
Cheers,
Daniel
On 08/08/14 12:23, Muhammad Shahzad wrote:
humm, it is suppose to contain the original message that was feed to
event_route[network:msg], it would be same as $mb till this route
changes the contents of it stores the new contents in $mb, then the
$mb and $raw_msg would contain different contents (original vs
modified), this may be useful in other routes, such as error_route or
local_route e.g. for comparison etc.
Of course, you can remove this variable, since i don't have any
concrete use of it in my mind (other then comparing any changes to
message were done by event_route[network:msg] in other routes).
Thank you.
On Fri, Aug 8, 2014 at 11:07 AM, Daniel-Constantin Mierla
<mico...@gmail.com <mailto:mico...@gmail.com>> wrote:
I see that the code introduces a new variable $raw_msg. It looks
like being message buffer which is returned by $mb, thus redundant.
Cheers,
Daniel
On 05/08/14 12:06, Muhammad Shahzad wrote:
yup, i always download kamailio from official repo mentioned here,
http://www.kamailio.org/wiki/install/devel/git
Thank you.
On Tue, Aug 5, 2014 at 3:03 PM, Daniel-Constantin Mierla
<mico...@gmail.com <mailto:mico...@gmail.com>> wrote:
On 05/08/14 11:55, Muhammad Shahzad wrote:
OK, created the patch finally...
http://webrtc.voip-demos.com/0001-added-support-for-network-io-intercept.patch
I will look over it and push it to the repository if
everything is ok.
I had to add all file i wanted to include in the commit
using "git add", even the ones that are already included in
git repo, e.g. corex.xml and corex_mod.c.
Strange, I never had to do it -- did you clone the git
repository from sip-router.org <http://sip-router.org>?
I will just let you know i hit my head on wall just 17 times
to make it work. :-(
Hopefully it was facebook wall :-)
Daniel
Thank you.
On Tue, Aug 5, 2014 at 2:40 PM, Daniel-Constantin Mierla
<mico...@gmail.com <mailto:mico...@gmail.com>> wrote:
You should use:
git format-patch -1 <sha>
The <sha> in your case appears to be f415b0c . If it is
last commit, should work with:
git format-patch -1 HEAD
Cheers,
Daniel
On 05/08/14 11:25, Muhammad Shahzad wrote:
These commands do not seem to work for me. Can you
please do the patch?
1. adding files work,
git add modules/corex/corex_nio.c modules/corex/corex_nio.h
git status
# On branch master
# Changes to be committed:
# (use "git reset HEAD <file>..." to unstage)
#
# new file: modules/corex/corex_nio.c
# new file: modules/corex/corex_nio.h
#
# Changes not staged for commit:
# (use "git add <file>..." to update what will be
committed)
# (use "git checkout -- <file>..." to discard changes
in working directory)
#
# modified: modules/corex/README
# modified: modules/corex/corex_mod.c
# modified: modules/corex/doc/corex.xml
# modified: modules/corex/doc/corex_admin.xml
#
2. making commit seems to work,
git commit -m "added support for network io intercept."
[master f415b0c] added support for network io intercept.
2 files changed, 268 insertions(+)
create mode 100644 modules/corex/corex_nio.c
create mode 100644 modules/corex/corex_nio.h
3. git format-patch does not work,
git format-patch
[no-output]
4. Also tried,
git format-patch master --stdout
[no-output]
git format-patch master --stdout > /tmp/nio.patch
[no-output]
I don't know what is wrong, i have git version 1.7.10.4
on debian wheezy.
i miss subversion so badly...
Thank you.
On Tue, Aug 5, 2014 at 1:26 PM, Daniel-Constantin
Mierla <mico...@gmail.com <mailto:mico...@gmail.com>>
wrote:
Can you do a commit on your local git clone and
send the patch? It is easier to review the changes.
Practically use:
- git add -- to add new files
- git commit -- to commit changes
- git format-patch -- to get the commit in a file
Cheers,
Daniel
On 05/08/14 01:14, Muhammad Shahzad wrote:
Done all changes as you suggested.
1. The code is embedded in corex module. Two new
files added named, corex_nio.h and corex_nio.c.
Some minor changes to corex_mod.c to call the
methods defined in corex_nio.h.
2. Event route name changed to
event_route[network:msg].
3. function name changed from is_msg_obfuscated to
is_incoming.
4. one additional module parameter is added, named
network_io_intercept, to enable disable the whole
functionality. (default is disabled)
5. The README file and doc folder is updated with
relevant documentation, examples and use cases etc.
The code is available for review and download at,
http://webrtc.voip-demos.com/corex.tbz2
Regarding the actual encryption / compression
etc., i am planning to add some example PERL / LUA
scripts later on.
Thank you.
On Mon, Aug 4, 2014 at 8:19 PM, Muhammad Shahzad
<shaherya...@gmail.com
<mailto:shaherya...@gmail.com>> wrote:
Thank you for your valuable suggestions, i
appreciate it.
I agree about module name, in fact a couple
friends have already sent me email privately
suggesting the same. May be something like
"nio_intercept" would be better, since module
only intercepts the network in/output and
leaves it to script writer what to do with it.
Regarding embedding in corex, that is
interesting, however i need to go through its
code to understand it a bit and then attempt
to embed it. Later on, i will create separate
module which import this functionality from
corex and do specific tasks such as
compression and faking http etc.
There is a good progress on doubango SDK side
as well and at least idoubs would be ready
soon (7 to 10 days approx). Then mobile voip
developers can fully test this functionality
at both ends.
Anyways let me look at corex module and see if
and how can i embed this. In the meantime more
suggestions and comments on this are warmly
welcome from everyone.
Thank you.
On Mon, Aug 4, 2014 at 7:55 PM,
Daniel-Constantin Mierla <mico...@gmail.com
<mailto:mico...@gmail.com>> wrote:
Hello,
I looked at the code and my conclusion was
that the name is a bit confusing.
While indeed you can do obfuscation using
some embedded language or other meanings
from the config file, the module itself
doesn't do anything related. It executes
an event route for network packet in/out.
Such functionaly is of course useful, just
to remind the given example with
obfuscation. But I think a better name to
reflect the behaviour should be given.
Maybe obfuscate should be a module that
implement some algorithms for
obfuscations, like you mentions:
- simply compressing (gz)
- compressing and encapsulation as body in
a http request/reply
- itv
My proposal would be:
- either rename the module or embed in
another module (e.g., corex) what was
developed for these event route execution.
The event route name should be related to
network reception/transmission (e.g.,
network:msg). Also the is_obfuscated_msg()
should be something like is_incoming()
- have a new module obfuscate to implement
some algorithm as proof of concept (e.g.,
gzip -- i guess plenty of code from
gzcompress module is very useful just to
take from there). Then others may
contribute more, as they have new ideas or
from what you listed (http ecapsulation is
at least interesting, considering many
allow port 80 and inspect for http).
Of course, these are my opinions, so the
discussion can go on for deciding on how
to proceed.
Cheers,
Daniel
On 02/08/14 23:57, Muhammad Shahzad wrote:
Hi,
As already discussed in detail in
following email thread,
https://www.mail-archive.com/sr-users@lists.sip-router.org/msg19922.html
The new Kamailio module obfuscate is
ready for testing and can be
downloaded at,
http://webrtc.voip-demos.com/obfuscate.tbz2
It contains full code, with
documentation and usage scenarios etc.
Adding Kamailio dev team, can you guys
review the code and add this module to
Kamailio trunk if possible? I will be
responsible for its maintenance and
bug fixes etc. if any.
Thank you.
--
Daniel-Constantin Mierla -
http://www.asipto.com
http://twitter.com/#!/miconda
<http://twitter.com/#%21/miconda> -
http://www.linkedin.com/in/miconda
--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda
<http://twitter.com/#%21/miconda> -http://www.linkedin.com/in/miconda
--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda>
-http://www.linkedin.com/in/miconda
--
Daniel-Constantin Mierla -http://www.asipto.com
http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda>
-http://www.linkedin.com/in/miconda
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> -
http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 -http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA
--
Daniel-Constantin Mierla
http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda
Next Kamailio Advanced Trainings 2014 - http://www.asipto.com
Sep 22-25, Berlin, Germany ::: Oct 15-17, San Francisco, USA
_______________________________________________
SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list
sr-users@lists.sip-router.org
http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users