Hi, How to implement MWI in symbian_ua_gui. Please guide me. Nasir On Sat, Jun 13, 2009 at 4:47 PM, Samuel Vinson <samuelv at laposte.net> wrote: > Hello, > > I continue to implements MWI (rfc 3842) and I test with 3 servers > (Asterisk, Cirpack and OpenSer). > In 3 cases, it doesn't work for 3 different reasons. > > 1/ Asterisk: > When I send Subscribe request, I receive "200 OK" with "Expires: 0" I think > it's weird. > Logically, Asterisk should send Notify request, but it doesn't do it. So 5 > seconds (UAC_WAIT_NOTIFY in evsub) after the subscription is destroyed. > If I don't reply to a call, Asterisk sends Notify request, but like there > is no subscription enabled, pjsip doesn't find module to manage this. > > Do you know if asterisk manages rfc 3842 ? > Is it possible to disable the timer with UAC_WAIT_NOTIFY in pjsip ? > > 2/ Cirpack > When I send Subscribe request, I receive "489 Bad event" message with > "Allow-Events: dialog" > Do you know if cirpack implements rfc 3842 ? > > 3/ OpenSer > When I send Subscribe request, I receive "200 OK", and subscription seems > OK (perhaps no Expires = 0). > But I don't receive Notify request. > Sometimes I receive later Notify request, but pjsip displays this message : > Message Request msg NOTIFY/cseq=1 (rdata0x875c64) from X.X.X.X:5060 was > dropped/unhandled by any modules > > I don't understand why because the subscription is always up. > > My implementation is based on presence.c and pjsua_pres.c, and I use 1.0.x > branch > > Thanks for your help. > > Samuel > > > Md. Nasir Uddin a ?crit : > > Hi Samuel, > > I have done the following steps for MWI: > > 1. Copy mwi.h into include folder > 2. Copy mwi.c into source folder > 3. Build symbian_ua_gui in GCCE mode. > > Then I got three Error : > > 1. mwi.c:(.text+0x4c8): undefined reference to `pjsip_mwi_current_notify' > > 2. mwi.c:(.text+0x514): undefined reference to `pjsip_mwi_notify' > 3. mwi.c:(.text+0x804): undefined reference to `pjsip_mwi_notify' > > After that I have done the following into mwi.c: > > static pj_status_t pjsip_mwi_notify( pjsip_evsub *sub, > pjsip_evsub_state state, > const pj_str_t *state_str, > const pj_str_t *reason, > pjsip_tx_data **p_tdata) > { > pjsip_mwi *mwi; > pjsip_tx_data *tdata; > pj_status_t status; > PJ_ASSERT_RETURN(sub, PJ_EINVAL); > mwi = (pjsip_mwi*) pjsip_evsub_get_mod_data(sub, mod_mwi.id); > PJ_ASSERT_ON_FAIL(mwi!=NULL, {return;}); > status = pjsip_mwi_notify( sub, PJSIP_EVSUB_STATE_TERMINATED, > NULL, &reason, &tdata); > if (status == PJ_SUCCESS) > pjsip_mwi_send_request(sub, tdata); > pjsip_dlg_inc_lock(mwi->dlg); > status = pjsip_evsub_notify( sub, state, state_str, reason, > &tdata); > if (status != PJ_SUCCESS) > goto on_return; > *p_tdata = tdata; > > on_return: > pjsip_dlg_dec_lock(mwi->dlg); > return status; > } > > static pj_status_t pjsip_mwi_current_notify( pjsip_evsub *sub, > pjsip_tx_data **p_tdata ) > { > pjsip_mwi *mwi; > pjsip_tx_data *tdata; > pj_status_t status; > PJ_ASSERT_RETURN(sub, PJ_EINVAL); > mwi = (pjsip_mwi*) pjsip_evsub_get_mod_data(sub, mod_mwi.id); > PJ_ASSERT_ON_FAIL(mwi!=NULL, {return;}); > pjsip_dlg_inc_lock(mwi->dlg); > status = pjsip_evsub_current_notify( sub, &tdata); > if (status != PJ_SUCCESS) > goto on_return; > *p_tdata = tdata; > > on_return: > pjsip_dlg_dec_lock(mwi->dlg); > return status; > } > > Now I didn't get any Error over there in my Application: > > But I didn't know how it'll work or What will be the next steps? > Would you please tell me that I am going to right way and what I have to do > for next. > > Thanking you > Nasir > > On Sun, May 31, 2009 at 4:08 PM, Samuel Vinson <samuelv at laposte.net>wrote: > >> Hello >> >> Yes read and implement rfc 3842 (A Message Summary and Message Waiting >> Indication Event Package for >> the Session Initiation Protocol (SIP)) >> >> You can look how presence is implemented in pjsip. >> I began the work, but it's not finished. I'm joining the begin of my >> works. Like you will see there still are set/get status functions. >> and after you will need to look pjsua_presence to know how implements >> subscription step. >> >> Regards >> >> Samuel >> >> Md. Nasir Uddin a ?crit : >> >> Hi All, >> >> Can anyone tell me how to implement MWI using PJSIP. >> >> Nasir >> >> ------------------------------ >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing listpjsip at lists.pjsip.orghttp://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 listpjsip at lists.pjsip.orghttp://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20091017/93960a51/attachment.html>