2010/1/14 Wang Eric <eric_wanga at hotmail.com>: > > Hi Benny, > > Thanks for your valueable input > > When there incoming a KPML subscribe first. An UAS KPML?subscribe will be > created for this. > (i.e. dlgsub point to kpml at this time) > > one moment later, user transfer this call. So an UAC REFER subscribe will be > created for this. > (the previous kpml dlgsub will be overwritted at this time) > I don't think that is the case. The new session would be appended to the dlgsub list. In fact I think I was wrong, and after checking the code again, it looks like we do support multiple SUBSCRIBE sessions. Multiple SUBSCRIBE sessions with different event package is supported. If you need to have multiple SUBSCRIBE sessions with the same event package, then you will need to enable event ID to distinguish between the sessions. > After this, when KPML receive expires=0 packet, the dlgsub will lokk up > fail. > > > After?a glanced study of the sip_dialog.h. > I think if we modified the mod_data[] as a list, we might?keep the multiple > active SUBSCRIBEs session. > > > ?void??????? *mod_data[PJSIP_MAX_MODULE]; /**< Module data.???? */ > > > How to you think, please comment or correct me in caase of my > missunderstand. > > We don't need to change mod_data as list, that will just defeat the purpose. In fact, we already have dlgsub list to maintain list of SUBSCRIBE sessions in the dialog, so theoretically we should support this. Cheers Benny