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 > <http://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 > <http://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 > <mailto: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 list >> pjsip at lists.pjsip.org <mailto: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 <mailto: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 > -------------- next part -------------- An HTML attachment was scrubbed... URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090614/bbfeacf3/attachment-0001.html> -------------- next part -------------- A non-text attachment was scrubbed... Name: mwi.zip Type: application/zip Size: 15254 bytes Desc: not available URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090614/bbfeacf3/attachment-0001.zip>