Hello Anthony,

We're not quite there yet!

It would appear that TFLAG_SECURE is not set for the outbound call.  I've had to comment out the check in mdl_build_crypto().  Would we expect the the flag to be set for both legs of the call?

Also, I'm getting *a lot* of the following errors:
2012-07-17 11:05:36.128059 [ERR] switch_rtp.c:4296 Error: SRTP protection failed with code 13
I did see this once yesterday (with the previous version) but it went away so I assumed it was something I was doing.  Now, I'm getting it all the time.  If you'd like me to investigate further please let me know.

Thanks for your continuing help,
  Richard



On 16 Jul 2012, at 18:44, Anthony Minessale wrote:

ok so I pushed the flag to be set so now it should work out of the
box, thanks for testing.


On Mon, Jul 16, 2012 at 8:05 AM, Richard Screene
<richard.screene@netdev.co.uk> wrote:
Hello Anthony,

That seems to work better than my attempt!

Thanks for your help!
 Richard


On 13 Jul 2012, at 23:19, Anthony Minessale wrote:

try patch in latest head minus your plc hack.
I have not made any changes to mod_dingaling yet but the core should
not try to decode stun now.


On Thu, Jul 12, 2012 at 11:58 AM, Richard Screene
<richard.screene@netdev.co.uk> wrote:

Hello Anthony,


Thanks for your quick response!


does it work then? I had it disabled on purpose cos I have not

confirmed it works yet.


That would explain it then :-)


I have managed to get SRTP working for the outbound voice path, but it

required a couple of hacks:

1) It was attempting to decrypt the STUN/ICE Bind Requests and failing.

I've bodged it for now by passing the SFF_PLC flag to

switch_rtp.c:read_rtp_packet() but I suspect this will stop inbound voice

paths from working!

2) In mod_dingaling.c:try_secure() the incorrect crypto_type is passed to

switch_rtp_add_crypto_key().  I suspect there is some confusion between the

crypto_type and crypto_send_type/crypto_recv_type members of

tech_pvt->transports.  I've hacked it for now as shown below.


I hope this is useful to you.  I'm going to try with the outbound voice path

tomorrow.


Regards,

Richard



For reference here are the diffs:




diff --git a/src/mod/endpoints/mod_dingaling/mod_dingaling.c

b/src/mod/endpoints/mod_dingaling/

index c47f589..1dda789 100644

--- a/src/mod/endpoints/mod_dingaling/mod_dingaling.c

+++ b/src/mod/endpoints/mod_dingaling/mod_dingaling.c

@@ -956,9 +956,11 @@ switch_status_t mdl_build_crypto(struct private_object

*tech_pvt, ldl_tran

      char *p;



+/*

      if (!switch_test_flag(tech_pvt, TFLAG_SECURE)) {

              return SWITCH_STATUS_SUCCESS;

      }

+*/



      if (type == AES_CM_128_HMAC_SHA1_80) {

@@ -1056,10 +1058,13 @@ static switch_status_t mdl_add_crypto(struct

private_object *tech_pvt,

static void try_secure(struct private_object *tech_pvt,

ldl_transport_type_t ttype)

{


+/*

      if (!switch_test_flag(tech_pvt, TFLAG_SECURE)) {

              return;

      }


+*/

+       tech_pvt->transports[ttype].crypto_type =

tech_pvt->transports[ttype].crypto_recv_type;


      //if (tech_pvt->transports[ttype].crypto_type) {


switch_rtp_add_crypto_key(tech_pvt->transports[ttype].rtp_session,





diff --git a/src/switch_rtp.c b/src/switch_rtp.c

index 7d6ad29..99b4f83 100644

--- a/src/switch_rtp.c

+++ b/src/switch_rtp.c

@@ -3234,6 +3234,7 @@ static int rtp_common_read(switch_rtp_t *rtp_session,

switch_payload_t *p

                      if (read_pretriggered) {

                              read_pretriggered = 0;

                      } else {

+                               *flags |= SFF_PLC;

                              status = read_rtp_packet(rtp_session,

&bytes, flags, SWITCH_TRU


//switch_log_printf(SWITCH_CHANNEL_SESSION_LOG(session), SWITCH

                      }




On 12 Jul 2012, at 00:13, Anthony Minessale wrote:


does it work then? I had it disabled on purpose cos I have not

confirmed it works yet.



On Wed, Jul 11, 2012 at 4:47 AM, Richard Screene

<richard.screene@netdev.co.uk> wrote:


Hello,



Using mod_dingaling I am unable to get it to append the crypto details to


the session-accept Jingle stanza.  The message is sent as:


<snip>




_________________________________________________________________________

Professional FreeSWITCH Consulting Services:

consulting@freeswitch.org

http://www.freeswitchsolutions.com


FreeSWITCH-powered IP PBX: The CudaTel Communication Server

http://www.cudatel.com


Official FreeSWITCH Sites

http://www.freeswitch.org

http://wiki.freeswitch.org

http://www.cluecon.com


Join Us At ClueCon - Aug 7-9, 2012


FreeSWITCH-dev mailing list

FreeSWITCH-dev@lists.freeswitch.org

http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev

UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev

http://www.freeswitch.org





--
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

Join Us At ClueCon - Aug 7-9, 2012

FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org


Richard Screene
Senior Developer
NetDev Ltd  & Drum Collaboration
+44 1273 936125
www.netdev.co.uk
www.thisisdrum.com
Registered in England and Wales
Company Number 04741258


_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

Join Us At ClueCon - Aug 7-9, 2012

FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org




--
Anthony Minessale II

FreeSWITCH http://www.freeswitch.org/
ClueCon http://www.cluecon.com/
Twitter: http://twitter.com/FreeSWITCH_wire

AIM: anthm
MSN:anthony_minessale@hotmail.com
GTALK/JABBER/PAYPAL:anthony.minessale@gmail.com
IRC: irc.freenode.net #freeswitch

FreeSWITCH Developer Conference
sip:888@conference.freeswitch.org
googletalk:conf+888@conference.freeswitch.org
pstn:+19193869900

_________________________________________________________________________
Professional FreeSWITCH Consulting Services:
consulting@freeswitch.org
http://www.freeswitchsolutions.com

FreeSWITCH-powered IP PBX: The CudaTel Communication Server
http://www.cudatel.com

Official FreeSWITCH Sites
http://www.freeswitch.org
http://wiki.freeswitch.org
http://www.cluecon.com

Join Us At ClueCon - Aug 7-9, 2012

FreeSWITCH-dev mailing list
FreeSWITCH-dev@lists.freeswitch.org
http://lists.freeswitch.org/mailman/listinfo/freeswitch-dev
UNSUBSCRIBE:http://lists.freeswitch.org/mailman/options/freeswitch-dev
http://www.freeswitch.org

Richard Screene
Senior Developer
NetDev Ltd  & Drum Collaboration 
+44 1273 936125
www.netdev.co.uk
www.thisisdrum.com
Registered in England and Wales 
Company Number 04741258