Re: [OpenSIPS-Devel] New Transport Interface

2015-01-13 Thread Ovidiu Sas
Small typo for TCP network proto: seems that destroy_udp() is meant
to be destroy_tcp().

-ovidiu

On Mon, Jan 12, 2015 at 8:52 AM, Răzvan Crainea raz...@opensips.org wrote:
 Hi, All!

 You can find here[2] the APIs that are going to be deeveloped for the
 Transport Interface.
 Please take a look and let us know what you think. Any feedback is welcome!

 [1] http://www.opensips.org/Development/TransportInterfaceAPI

 Best regards,

 Răzvan Crainea
 OpenSIPS Solutions
 www.opensips-solutions.com

 On 12/19/2014 06:05 PM, Bogdan-Andrei Iancu wrote:

 yes, that is the next step, to work out those interfaces. Then we can
 start re-arranging and re-building the code.

 Regards,
 Bogdan

 Bogdan-Andrei Iancu
 OpenSIPS Founder and Developer
 http://www.opensips-solutions.com

 On 19.12.2014 17:36, Ovidiu Sas wrote:

 Nice!  It would be good to add the API documentation.

 -ovidiu

 On Fri, Dec 19, 2014 at 7:46 AM, Răzvan Crainea raz...@opensips.org
 wrote:

 Hello, all!

 Whilde developing the design of the new WebSockets protocol, we observed
 that we can't easily use the existing TCP core, and we have to duplicate
 a
 lot of code to make it work fine. Since this is not a very good idea, we
 started designing how this could be done nicer and more efficient.
 That's
 how we ended up designing a new Transport Interface[1], that provides a
 clear separation between IP layer transport protocols (such as TCP and
 UDP)
 and higher level protocols (such as WebSocket, TLS, etc.). This
 interface
 will facilitate the development of new Transport Protocols, while
 reusing
 the existing TCP and UDP implementation.
 The new design can be found here[1]. Feel free to give us any feedback
 or
 thoughts about this.

 [1] http://www.opensips.org/Development/TransportInterface

 Best regards,

 --
 Răzvan Crainea
 OpenSIPS Solutions
 www.opensips-solutions.com


 ___
 Devel mailing list
 Devel@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/devel





 ___
 Devel mailing list
 Devel@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/devel



 ___
 Devel mailing list
 Devel@lists.opensips.org
 http://lists.opensips.org/cgi-bin/mailman/listinfo/devel



-- 
VoIP Embedded, Inc.
http://www.voipembedded.com

___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel


Re: [OpenSIPS-Devel] New Transport Interface

2015-01-13 Thread Saúl Ibarra Corretgé
Hi Razvan (and all!),

On 12 Jan 2015, at 14:52, Răzvan Crainea raz...@opensips.org wrote:

 Hi, All!
 
 You can find here[2] the APIs that are going to be deeveloped for the 
 Transport Interface.
 Please take a look and let us know what you think. Any feedback is welcome!
 
 [1] http://www.opensips.org/Development/TransportInterfaceAPI
 

Sorry for not having participated earlier. Hopefully I can do that more now!

I had a look at the API, and while the layer separation sounds good, I have 
some questions / concerns of different nature. Here is a brain-dump, in no 
particular order:

- If TLS is taken out of the core it would be best to rewrite it without 
looking at the current code. If we want to get OpenSIPS as an official Debian 
package, the TLS code needs to be a separate module, with a different license 
(GPL with the OpenSSL exception thing), but in order to relicense it all 
developers have to agree, doing it from scratch would avoid this.

- If TLS is a module now, has there been any thought on supporting 
implementations other than OpenSSL? gnuTLS and libreSSL come to mind.

- I see that the send / receive API is not designed with scatter / gather I/O 
in mind. It might be beneficial in the long run to support sending or receiving 
an array of buffers, and use readv / writev underneath.

- sockaddr_union is defined by OpenSIPS with no real purpose these days, since 
we can use sockaddr_storage for allocating space and sockaddr for passing 
around pointers.

- At what level are the TLS settings considered? Network or transport? Either 
way, all init functions get void, but where will the config be taken from, if 
it’s different per domain?

- The transport API has some inconsistencies in what parameters it takes: 
connect gets a sockaddr, but bind gets host and port.

- Where do DNS lookups happen? If the transport API only knows about IPs and 
ports then all functions should take sockaddr structures and the app would do 
the lookup. 

- Any thoughts on using “connected” UDP sockets, so the kernel does the 
filtering for incoming traffic?


I hope this helps.


Cheers,

--
Saúl Ibarra Corretgé
AG Projects





signature.asc
Description: Message signed with OpenPGP using GPGMail
___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel


[OpenSIPS-Devel] [OpenSIPS/opensips] b8611c: Fix handling dst_uri in cloned messages.

2015-01-13 Thread Bogdan-Andrei Iancu
  Branch: refs/heads/master
  Home:   https://github.com/OpenSIPS/opensips
  Commit: b8611c1b2759284584e1cc4dd601c68968539e1d
  
https://github.com/OpenSIPS/opensips/commit/b8611c1b2759284584e1cc4dd601c68968539e1d
  Author: Bogdan-Andrei Iancu bog...@opensips.org
  Date:   2015-01-13 (Tue, 13 Jan 2015)

  Changed paths:
M modules/tm/async.c
M modules/tm/t_msgbuilder.h
M modules/tm/t_reply.c

  Log Message:
  ---
  Fix handling dst_uri in cloned messages.

Thanks to Liviu for pointing out - the dst_uri, after doing a fake msg (a copy 
from a shm cloned msg) had the wrong dst_uri linked (one in shm mem).


___
Devel mailing list
Devel@lists.opensips.org
http://lists.opensips.org/cgi-bin/mailman/listinfo/devel