Sent message to mailing list
From: "volga629" volga629@skillsearch.ca To: miconda@gmail.com Sent: Thursday, 24 November, 2016 00:25:30 Subject: Re: [SR-Users] msilo
Hello Everyone, I want to ask about another improvement for MSILO module. If possible encrypt BODY column in database. That will improve some privacy concerns for storing body in plain text.
Slava.
From: "volga629" volga629@skillsearch.ca To: miconda@gmail.com Sent: Wednesday, 23 November, 2016 21:10:53 Subject: Re: [SR-Users] msilo
Hello Everyone, Need another set of eyes, can't find how to To: got << in uri.
Nov 23 19:50:55 cavprx00 kamailio: 3(9625) DEBUG: <core> [parser/parse_uri.c:1280]: parse_uri(): parse_uri: bad uri, state 0 parsed: <<sip> (4) / <sip:4200@client_public_ip:49418;messagetype=SMS> (47) Nov 23 19:50:55 cavprx00 kamailio: 3(9625) ERROR: tm [ut.h:254]: uri2dst2(): ERROR: uri2dst: bad_uri: [<sip:4200@ client_public_ip :49418>;messagetype=SMS] Nov 23 19:50:55 cavprx00 kamailio: 3(9625) ERROR: tm [t_fwd.c:1723]: t_forward_nonack(): ERROR: t_forward_nonack: failure to add branches
route[MESSAGE_FORWARD] { xlog("L_INFO", "Incoming new SMS [$rm] from $tU --> $td\n");
if(fnmatch("$rs", "202") && fnmatch("$rr", "Accepted") && allow_trusted("$si", "$proto")) { $sht(b=>from) = $fu; $sht(b=>oldto) = $tu; $avp(new_to) = "<" + $sht(b=>oldto) + ">" + ";messagetype=SMS"; xlog("L_INFO", "MESSAGE: B2BUA send --> [$rs] with [$rr] from [$sht(b=>from)] to [$sht(b=>oldto)] -->[$td]\n"); }
if(compare_ips("$td", "10.18.130.27")) { xlog("L_INFO", "Message from B2BUA contain domain --> $td user --> $(sht(b=>oldto){uri.user}) updating...\n"); sql_pvquery("cb", "select contact from location where username = '$(sht(b=>oldto){uri.user})'","$avp(dst)"); #$avp(new_dst) = $(hdr(Route){param.value,received}); xlog("L_INFO", "New destination --> $avp(dst)\n"); $avp(new_to) = "<" + $(avp(dst){tobody.uri}) + ">" + ";messagetype=SMS"; }
if(fnmatch("$fU", "offline")) { xlog("L_INFO", "OFFLINE SMS: from [$fU] user --> $fU\n"); $avp(from) = $(sht(b=>oldto){uri.user}); xlog("L_INFO", "OFFLINE SMS: Searching destination user $avp(oexten)\n"); sql_pvquery("cb", "select contact from location where username = '$avp(from)'","$avp(dst)"); xlog("L_INFO", "OFFLINE SMS: set new destination --> $avp(dst)\n"); $avp(new_to) = "<" + $(avp(dst){tobody.uri}) + ">" + ";messagetype=SMS"; }
xlog("L_INFO", "OFFLINE SMS: new AVP DST $avp(new_to)\n"); $sht(a=>to) = $avp(new_to); remove_hf("To"); insert_hf("To: $sht(a=>to)\r\n", "To"); $du = $sht(a=>to); xlog("SMS from --> $fU domain $fd\n"); xlog("-------------------------------------\n"); xlog("L_INFO", "FROM --> $avp(from)\n"); xlog("L_INFO", "OLD_TO --> $sht(b=>oldto)\n"); xlog("L_INFO", "NEW_TO --> $avp(new_to)\n");
}
Slava.
From: "Daniel-Constantin Mierla" miconda@gmail.com To: "volga629" volga629@skillsearch.ca, "sr-users" sr-users@lists.sip-router.org Sent: Thursday, 17 November, 2016 05:44:22 Subject: Re: [SR-Users] msilo
Hello,
if you want to fetch them for config usage is ok, otherwise m_dump() is still better, because it takes care of removing delivered messages, etc...
Cheers, Daniel
On 16/11/16 16:08, Slava Bendersky wrote:
Hello Daniel, Yes that good alternative. I will use sql to fetch or insert staff.
Slava
From: "Daniel-Constantin Mierla" miconda@gmail.com To: "sr-users" sr-users@lists.sip-router.org Sent: Wednesday, 16 November, 2016 04:37:24 Subject: Re: [SR-Users] msilo
Hello,
as an alternative, I think it should work by using sql_query(...) to insert whatever values one would like to have in msilo table. This might be a quick workaround until someone will code the extension to get the body via a function parameter.
Cheers, Daniel
On 15/11/16 16:07, Federico Cabiddu wrote:
BQ_BEGIN
Hi Slava, if I understand correctly your scenario, you could call t_on_failure before relaying the MESSAGE. In this way you should have access to the original message in the failure route triggered after receiving a final reply and you should be able to store it with the regular msilo functions. Hope this helps.
Cheers,
Federico
On 15 Nov 2016 3:47 pm, "Slava Bendersky" < volga629@skillsearch.ca > wrote:
BQ_BEGIN
Hello Daniel, I am not programmer, but I want place request if kaamilio devs can complete it . Thanks
Slava.
From: "Daniel-Constantin Mierla" < miconda@gmail.com > To: "sr-users" < sr-users@lists.sip-router.org > Sent: Tuesday, 15 November, 2016 03:00:19 Subject: Re: [SR-Users] msilo
Hello,
for me it is fine to add a new parameter to m_store() that takes the body content.
Are you asking for more details of how can be done? Cheers, Daniel
On 13/11/16 07:08, Slava Bendersky wrote:
BQ_BEGIN
Hello Everyone, I asking question/request to add improvement for msilo module where will have ability set $avp(i:body) in mod params. That will allow use it in m_store() by specifying body message $avp. In my case registration is on B2BUA so kamailio pass through/proxy to destination. In order to check user status online/offline kamailio wait for reply from B2BUA on MESSAGE status if it return error 503 that mean user offline and m_store(0 should store message in db, but the issue that error 503 is in final stage and MESSAGE body is not available any more. The improvement will allow specify body $var in m_store() so new way will be m_store($tu, $avp(body)).
Any help thank you.
Slava.
_______________________________________________ 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
On 24/11/2016 05:28, Slava Bendersky wrote:
[]
*From: *"volga629" volga629@skillsearch.ca *To: *miconda@gmail.com *Sent: *Wednesday, 23 November, 2016 21:10:53 *Subject: *Re: [SR-Users] msilo
Hello Everyone, Need another set of eyes, can't find how to To: got << in uri.
One pair of <> is added by the debug message, perhaps we should change that given they are used in headers to enclose the uri parts.
The errors seems to be that you try to set as request URI (r-uri or $ru) or destination URI ($du) something that is like a header in the format "<uri>;params". You must set it to only the uri, without <> and params.
Cheers, Daniel
Nov 23 19:50:55 cavprx00 kamailio: 3(9625) DEBUG: <core> [parser/parse_uri.c:1280]: parse_uri(): parse_uri: bad uri, state 0 parsed: <<sip> (4) / <sip:4200@client_public_ip:49418;messagetype=SMS> (47) Nov 23 19:50:55 cavprx00 kamailio: 3(9625) ERROR: tm [ut.h:254]: uri2dst2(): ERROR: uri2dst: bad_uri: [sip:4200@client_public_ip:49418;messagetype=SMS] Nov 23 19:50:55 cavprx00 kamailio: 3(9625) ERROR: tm [t_fwd.c:1723]: t_forward_nonack(): ERROR: t_forward_nonack: failure to add branches
route[MESSAGE_FORWARD] { xlog("L_INFO", "Incoming new SMS [$rm] from $tU --> $td\n");
if(fnmatch("$rs", "202") && fnmatch("$rr", "Accepted") && allow_trusted("$si", "$proto")) { $sht(b=>from) = $fu; $sht(b=>oldto) = $tu; $avp(new_to) = "<" + $sht(b=>oldto) + ">" + ";messagetype=SMS"; xlog("L_INFO", "MESSAGE: B2BUA send --> [$rs] with [$rr] from [$sht(b=>from)] to [$sht(b=>oldto)] -->[$td]\n"); }
if(compare_ips("$td", "10.18.130.27")) { xlog("L_INFO", "Message from B2BUA contain domain --> $td user --> $(sht(b=>oldto){uri.user}) updating...\n"); sql_pvquery("cb", "select contact from location where username = '$(sht(b=>oldto){uri.user})'","$avp(dst)"); #$avp(new_dst) = $(hdr(Route){param.value,received}); xlog("L_INFO", "New destination --> $avp(dst)\n"); $avp(new_to) = "<" + $(avp(dst){tobody.uri}) + ">" + ";messagetype=SMS"; }
if(fnmatch("$fU", "offline")) { xlog("L_INFO", "OFFLINE SMS: from [$fU] user --> $fU\n"); $avp(from) = $(sht(b=>oldto){uri.user}); xlog("L_INFO", "OFFLINE SMS: Searching destination user $avp(oexten)\n"); sql_pvquery("cb", "select contact from location where username = '$avp(from)'","$avp(dst)"); xlog("L_INFO", "OFFLINE SMS: set new destination --> $avp(dst)\n"); $avp(new_to) = "<" + $(avp(dst){tobody.uri}) + ">" + ";messagetype=SMS"; }
xlog("L_INFO", "OFFLINE SMS: new AVP DST $avp(new_to)\n"); $sht(a=>to) = $avp(new_to); remove_hf("To"); insert_hf("To: $sht(a=>to)\r\n", "To"); $du = $sht(a=>to); xlog("SMS from --> $fU domain $fd\n"); xlog("-------------------------------------\n"); xlog("L_INFO", "FROM --> $avp(from)\n"); xlog("L_INFO", "OLD_TO --> $sht(b=>oldto)\n"); xlog("L_INFO", "NEW_TO --> $avp(new_to)\n");
}
Slava.
*From: *"Daniel-Constantin Mierla" miconda@gmail.com *To: *"volga629" volga629@skillsearch.ca, "sr-users" sr-users@lists.sip-router.org *Sent: *Thursday, 17 November, 2016 05:44:22 *Subject: *Re: [SR-Users] msilo
Hello,
if you want to fetch them for config usage is ok, otherwise m_dump() is still better, because it takes care of removing delivered messages, etc...
Cheers, Daniel
On 16/11/16 16:08, Slava Bendersky wrote:
Hello Daniel, Yes that good alternative. I will use sql to fetch or insert staff. Slava ------------------------------------------------------------------------ *From: *"Daniel-Constantin Mierla" <miconda@gmail.com> *To: *"sr-users" <sr-users@lists.sip-router.org> *Sent: *Wednesday, 16 November, 2016 04:37:24 *Subject: *Re: [SR-Users] msilo Hello, as an alternative, I think it should work by using sql_query(...) to insert whatever values one would like to have in msilo table. This might be a quick workaround until someone will code the extension to get the body via a function parameter. Cheers, Daniel On 15/11/16 16:07, Federico Cabiddu wrote: Hi Slava, if I understand correctly your scenario, you could call t_on_failure before relaying the MESSAGE. In this way you should have access to the original message in the failure route triggered after receiving a final reply and you should be able to store it with the regular msilo functions. Hope this helps. Cheers, Federico On 15 Nov 2016 3:47 pm, "Slava Bendersky" <volga629@skillsearch.ca <mailto:volga629@skillsearch.ca>> wrote: Hello Daniel, I am not programmer, but I want place request if kaamilio devs can complete it . Thanks Slava. ------------------------------------------------------------------------ *From: *"Daniel-Constantin Mierla" <miconda@gmail.com <mailto:miconda@gmail.com>> *To: *"sr-users" <sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org>> *Sent: *Tuesday, 15 November, 2016 03:00:19 *Subject: *Re: [SR-Users] msilo Hello, for me it is fine to add a new parameter to m_store() that takes the body content. Are you asking for more details of how can be done? Cheers, Daniel On 13/11/16 07:08, Slava Bendersky wrote: Hello Everyone, I asking question/request to add improvement for msilo module where will have ability set $avp(i:body) in mod params. That will allow use it in m_store() by specifying body message $avp. In my case registration is on B2BUA so kamailio pass through/proxy to destination. In order to check user status online/offline kamailio wait for reply from B2BUA on MESSAGE status if it return error 503 that mean user offline and m_store(0 should store message in db, but the issue that error 503 is in final stage and MESSAGE body is not available any more. The improvement will allow specify body $var in m_store() so new way will be m_store($tu, $avp(body)). Any help thank you. Slava. _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://twitter.com/#!/miconda <http://twitter.com/#%21/miconda> - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users _______________________________________________ SIP Express Router (SER) and Kamailio (OpenSER) - sr-users mailing list sr-users@lists.sip-router.org <mailto:sr-users@lists.sip-router.org> http://lists.sip-router.org/cgi-bin/mailman/listinfo/sr-users -- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com _______________________________________________ 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
-- Daniel-Constantin Mierla http://twitter.com/#!/miconda - http://www.linkedin.com/in/miconda Kamailio Advanced Training, Berlin, Nov 28-30, 2016 - http://www.asipto.com
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
I expect the encryption/decryption can be done with some triggers in mysql server.
In kamailio config you can use crypto module to encrypt a text and store it in a variable:
- https://www.kamailio.org/docs/modules/stable/modules/crypto.html
Then you can use sqlops to insert into the database. The issue comes when dumping stored messages... probably you can just replace msilo with sqlops+uac at the expense of a more complex configuration file.
On the other hand, probably adds some privacy to the local platform operators, which have access only to the mysql, because the key will be in kamailio.cfg. For full privacy, the endpoints should do the encryption/decryption with a key they agreed before, without being known by the server.
Cheers, Daniel
On 24/11/2016 05:28, Slava Bendersky wrote:
Sent message to mailing list
*From: *"volga629" volga629@skillsearch.ca *To: *miconda@gmail.com *Sent: *Thursday, 24 November, 2016 00:25:30 *Subject: *Re: [SR-Users] msilo
Hello Everyone, I want to ask about another improvement for MSILO module. If possible encrypt BODY column in database. That will improve some privacy concerns for storing body in plain text.
Slava.