Hi Roland, can you share the code for packing PJSIP into XPCOM? It could be great to have a XUL interface for PJSIP. Regards Roland Klabunde wrote: > The better approach for Mozilla is to pack PJSIP into a XPCOM. I already > made that. It is not that easy as an ActiveX is, but does the job. > > Regards > > ----- Original Message ----- > From: "Benny Prijono" <bennylp@xxxxxxxxx> > To: "pjsip list" <pjsip at lists.pjsip.org> > Sent: Friday, February 22, 2008 9:54 AM > Subject: Re: Integrating PJSIP into Mozilla Framework > > > >> On 2/21/08, Adeyeye O. Michael <micadeyeye at crg.ee.uct.ac.za> wrote: >> >>> Hi Benny, >>> I was able to integrate the SIP stack into Mozilla FF(firefox) by making >>> shared lib. of it and loading into FF using a stub. >>> I have quite a number of shared lib. such as libpjsipregister.so, >>> libpjsipsendim.so, libpjsipreceiveim.so and so on. >>> >>> >> I'm not sure why we need to create one library for each function (!), >> that sounds like bad packaging to me, but then again I'm clueless >> about Mozilla framework or HTTP mobility, so maybe this is something >> that's enforced by the framework. >> >> >>> In one of my shared lib. (libpjsipregister.so), I cloned the result >>> after receiving IM since pjsip_rx_data will be reset after the all >>> callback s are executed. I read that I can't pass pjsip_rx_data >>> structure to another thread for asynchronous processing. So I have >>> something like this: >>> >>> static void on_pager(...){ >>> .... >>> .... >>> pjsip_msg_body* cloned_msg = &pjsip_msg_body_clone; >>> .... >>> .... >>> } >>> >>> >> If you want to clone a message body, then the above snippet won't do >> it. Use this instead: >> >> { >> pjsip_rx_data *rdata; >> pjsip_msg *msg; >> char dup[1500]; >> int dup_len; >> >> // retrieve rdata from pjsip_event >> // see http://trac.pjsip.org/repos/wiki/FAQ#pjsip_event >> rdata = ... >> msg = rdata->msg_info.msg; >> >> // extract text representation of message body to "dup" >> dup_len = pjsip_print_text_body(msg->body, dup, sizeof(dup)); >> } >> >> I'm not sure who are your supposed to communicate the cloned body to >> another XPCOM or whatever mechanism that you use, so I can't comment >> on your snippet below. But lets start with having correct message body >> content by using my snippet above first. >> >> cheers, >> -benny >> >> >>> In another shared lib.(libpjsipreceiveim.so), I tried to retrieve the >>> data sent in the IM session, basically HTTP URL. I have something like >>> this: >>> >>> char *sipreceiveimonly(){ >>> pj_thread_desc desc; >>> pj_thread_t *thread; >>> .... >>> .... >>> pjsip_msg_body* cloned_msg; >>> >>> return cloned_msg->data; >>> } >>> >>> The returned values are passed to my XPCOMs in FF which implement those >>> shared lib. >>> >>> The problem is that I couldn't retrieve the URL(I guess it's in >>> "cloned_msg->data") on calling *sipreceiveimonly(). This is a >>> provisional solution, I planned to pass such info via SIP INFO rather >>> than IM in the nearest future. >>> >>> >>> How can I retrieve the IM data (i.e.URL)?? >>> Guess I am missing something. >>> >>> Yours, >>> Mike. >>> >>> Benny Prijono wrote: >>> > On 2/19/08, Adeyeye Oluwasegun Michael <micadeyeye at crg.ee.uct.ac.za> >>> wrote: >>> > >>> >> Hi Benny, >>> >> I am currently integrating PJSIP into Mozilla Firefox in order to >>> achieve >>> >> HTTP Session Mobility using SIP. My research intention is to transfer >>> web >>> >> sessions between web browsers using SIP. Though I planned sending the >>> >> data(contents of cookies, rewritten URL, hidden element) via SIP >>> INFO, at >>> >> present, I am sending the data as IM(Instant Messaging). >>> >> >>> >> >>> > >>> > Hi Adeyeye, >>> > >>> > Interesting! I didn't know that we can use SIP for that. >>> > >>> > >>> >> While I have accomplished the task of transferring URL from a >>> browser's >>> >> addressbar to another as IM data using pjsua_im_send(), I haven't >>> been >>> >> able to retrieve the data at the destination browser. I wish you had >>> a >>> >> function like pjsua_im_send() that can help retrieve such data. I >>> tried >>> >> couple of things such as trying to implement the callback, getting >>> value >>> >> of "msg" attribute in the IM message struct >>> pjsua_msg_data/pjsip_rx_data >>> >> but all were futile. >>> >> >>> > >>> > Sorry I don't quite get you. Did you want to retrieve a particular >>> > message element (such as header or message body) from an incoming IM? >>> > Will this help: http://trac.pjsip.org/repos/wiki/FAQ#pjsip_event ? >>> > >>> > cheers, >>> > -benny >>> > >>> > >>> > >>> >> Do you know if such data is stored in variable not listed in the >>> PJSUA >>> >> module/API? >>> >> >>> >> Your contributions are welcome. >>> >> >>> >> Mike. >>> >> >>> >> >>> >> _______________________________________________ >>> >> Visit our blog: http://blog.pjsip.org >>> >> >>> >> pjsip mailing list >>> >> pjsip at lists.pjsip.org >>> >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >> >>> >> >>> > >>> > _______________________________________________ >>> > Visit our blog: http://blog.pjsip.org >>> > >>> > pjsip mailing list >>> > pjsip at lists.pjsip.org >>> > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> > >>> >>> >>> _______________________________________________ >>> Visit our blog: http://blog.pjsip.org >>> >>> pjsip mailing list >>> pjsip at lists.pjsip.org >>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >>> >>> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip at lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> >> > > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip at lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > >