Need more info on MWI for multi-tenants
Hello, I'm having issues with multi-tenant MWI. I started with 1.0.1, debugged for a while, then noticed http://jira.freeswitch.org/browse/MODAPP-126 and upgraded to SVN but I'm still having the issue. (I did go over the diff between 1.0.1 and SVN and couldn't figure out what change was implemented for MODAPP-126.) The symptoom I see it is that (vm-)sofia-profile probably doesn't get passed to actual_sofia_presence_mwi_event_handler(). (I get "Cannot find profile <domain-name>" because it falls back to trying the domain name.) I can get rid of the error message by adding the domain name as an alias in sip_profiles/internal.xml but it doesn't address the problem (no NOTIFY goes out). I'm a little bit confused because I would have expected the MWI component to either (a) try to locate the Contact or maybe the "presence_id" (specified in "dial-string") for the specific user; or (b) use a Subscription information from the user. I've been working on this for a few hours and I'm at the point where I don't know enough of the internals of FreeSwitch to move forward. I'd appreciate it if someone could point me to a next step. Thank you! Stéphane
On Aug 28, 2008, at 2:07 AM, Stéphane Alnet wrote:
Hello,
I'm having issues with multi-tenant MWI. I started with 1.0.1, debugged for a while, then noticed http://jira.freeswitch.org/browse/MODAPP-126 and upgraded to SVN but I'm still having the issue. (I did go over the diff between 1.0.1 and SVN and couldn't figure out what change was implemented for MODAPP-126.)
The symptoom I see it is that (vm-)sofia-profile probably doesn't get passed to actual_sofia_presence_mwi_event_handler(). (I get "Cannot find profile <domain-name>" because it falls back to trying the domain name.) I can get rid of the error message by adding the domain name as an alias in sip_profiles/internal.xml but it doesn't address the problem (no NOTIFY goes out).
I'm a little bit confused because I would have expected the MWI component to either (a) try to locate the Contact or maybe the "presence_id" (specified in "dial-string") for the specific user; or (b) use a Subscription information from the user.
I've been working on this for a few hours and I'm at the point where I don't know enough of the internals of FreeSwitch to move forward. I'd appreciate it if someone could point me to a next step. Thank you! Stéphane
The fix for this was the following patch: http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=9287 Mike
I did go over the diff between 1.0.1 and SVN and couldn't figure out what change was implemented for MODAPP-126. The fix for this was the following patch: http://fisheye.freeswitch.org/changelog/FreeSWITCH?cs=9287
Mike, thank you very much for that pointer. After spending more quality time with actual_sofia_presence_mwi_event_handler() I figured out that my problem was with the following three lines (251-253 in sofia_presence.c/SVN trunk): if (profile->domain_name && strcasecmp(profile->domain_name, host)) { host = profile->domain_name; } I think that overwriting "host" back to that profile's domain isn't necessary if we got the profile from the call "profile = sofia_glue_find_profile(host)" (line 244), since the original host was a valid (sub)domain for that profile (we know this because we were able to locate the profile based on the host). I worked around this by not defining a default domain in the sofia profile; in that case profile->domain_name doesn't exist, the host part does not get overwritten, and MWI works fine. Stéphane
Thats exactly how you have to do that. /b On Aug 28, 2008, at 10:44 AM, Stéphane Alnet wrote:
I worked around this by not defining a default domain in the sofia profile; in that case profile->domain_name doesn't exist, the host part does not get overwritten, and MWI works fine.
Brian West sip:brian@freeswitch.org
participants (3)
-
Brian West
-
Michael Jerris
-
Stéphane Alnet