SCTP

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Again, I was using digest mode so thread continuity is broken...  :(

>> I thought transport and socket code would be in one place but it appears
in
>> the PJLIB, PJSIP and PJMEDIA libraries.  I'm thinking I should start with
>> the socket handling code in PJLIB if I want to call the SCTP libraries.
Is
>> this the best place to approach the task?  All comments appreciated.
>>
>
>Your observation is correct. The socket abstraction in PJLIB is
>necessary to have a portable socket API across platforms, while the
>transport code in PJSIP and PJMEDIA should be platform independent.
>
>Further in PJLIB, there are few socket abstractions. The lowest layer
>is BSD API abstraction (pj/sock.h), then there is select() API
>abstraction (pj/sock_select.h), and finally asynchronous I/O
>abstraction (pj/ioqueue.h). The ioqueue may or may not use the
>select() abstraction (for example, it uses IoCompletionPort on WinNT).
>You can even develop an ioqueue that doesn't need socket stack (for
>example, works directly on top of hardware and runs in the context of
>interrupt).
>
>The current transports in PJSIP and PJMEDIA uses the ioqueue
>abstraction, since it needs non-blocking I/O. So here the transports
>are platform independent, just like the rest of PJSIP and PJMEDIA.
>
>For SCTP implementation, I suggest you start by creating the SCTP SIP
>and media transport, in PJSIP/PJMEDIA. You don't need to use PJLIB
>socket abstraction or ioqueue if you don't want to, and in fact, for
>initial implementation, I would suggest to use the SCTP API directly
>to make it simpler to implement. You may use worker thread in your
>transport if that makes the implementation simpler.
>
>Once you're done and everything runs okay, we can move forward to
>optimize it, removing worker thread if present, and perhaps making it
>more integrated with the rest of the libraries, somehow. But for the
>start, I suggest we focus on adding the SCTP functionality in
>PJSIP/PJMEDIA first.


Benny, thanks for such a prompt and detailed reply!  Now that I know
where I am on the map, I just need to follow your directions above to
make the important first steps.

Regards,
Net Dabbler
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20080125/fb31f2d3/attachment.html 


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux