[EMAIL PROTECTED] wrote:
>
> Mike,
>
> Thank you for responding.  I would like to take you up on the offer of 
> guidance surrounding this issue.
>
> We have a custom encryption dll we created and would like to use 
> (either by making explicit calls to it or by modifying it to allow for 
> "drop-in" implementation).
>
> What would be the best way to use what we have already into what 
> currently exists? 
There is not a good drop-in solution for swapping out the encryption 
provider (if you do come up with a 'drop-in' architecture, I think it 
would be a great contribution to the project).
However, the code that invokes the secure sockets is pretty localized.

For SIP Signaling / SMIME:

So, there are a couple of new classes you will need to create:
    1.  An OsConnectionSocket derived class representing a secure client 
connection socket.
         (The analagous Mozilla NSS implementation is OsTLSConnectionSocket)
    2.  An OsServerSocket derived class representing a secure server.
         (The analagous Mozilla NSS implementation is OsTLSServerSocket)

Take a look at the Mozilla NSS implementations (OsTLS*.cpp and OsTLS*.h) 
for reference.

After you have created your own derived classes for secure sockets, you 
can change SipClient.cpp and SipTlsServer.cpp to use your implementation.

For SRTP:
(This is for the sipxtapi branch, not sipxtapi-media-update, which may 
be different).
In CpPhoneMediaInterface::startRtpSend, you can check to see if the call 
has been created with a request for srtp by checking the mSrtpParameters 
bit flags like so:
        if (mSrtpParams.securityLevel & SRTP_SEND)
        {
             /*  invoke new method on the MpConnection to indicate SRTP 
for sending*/
        }
likewise, in CpPhoneMediaInterface::startRtpReceive:
        if (mSrtpParams.securityLevel & SRTP_RECEIVE)
        {
             /*  invoke new method on the MpConnection to indicate SRTP 
for receiving*/
        }
As indicated by the comments above, you will need to pass along your 
srtp parameters to MpConnection.  In sipXmediaLib you could create a new 
object for encrypting, and add it to the flow graph (using addResource() 
and addLink() - in MpConnection.cpp).  The same could be done for 
decrypting.  Good luck, and let us know if you need any more guidance.

-Mike





>
>
>
> Thank you for your help.

_______________________________________________
sipxtapi-dev mailing list
[email protected]
List Archive: http://list.sipfoundry.org/archive/sipxtapi-dev/

Reply via email to