[SOLVED] MWI and chan_sip.so
Hi all,
I'm having some trouble with MWI.
I have a MetaSwitch softswitch that had a trixbox configured into it for voicemail services (as a standard application server). Everything worked except for the MWI. To get MWI working, I had to change chan_sip.c as follows and recompile (from voip-info.org):
After moving the VM to our main VM host, the prompts starting having issues with choppiness that nothing seemed to fix. I then read that the trixbox VMs have a problem with choppy audio and that a dedicated machine is needed. As this doesn't fit in with the direction our infrastructure is moving, I decided to test PiaF. The audio problems disappeared when running from VM and everything is great, except MWI.
The code between the version above and the current asterisk version is different and my attempts to attain the same MWI functionality have failed.
Does anyone know how to modify the current chan_sip.c to get the same effect as the changes above did for the older version?
Any help is much appreciated,
Dustin
Hi all,
I'm having some trouble with MWI.
I have a MetaSwitch softswitch that had a trixbox configured into it for voicemail services (as a standard application server). Everything worked except for the MWI. To get MWI working, I had to change chan_sip.c as follows and recompile (from voip-info.org):
Code:
--- channels/chan_sip.c.orig Thu Jul 14 12:03:18 2005
+++ channels/chan_sip.c Thu Jul 14 12:05:26 2005
@@ -9710,6 +9710,7 @@
/* Called with peerl lock, but releases it */
struct sip_pvt *p;
int newmsgs, oldmsgs;
+ char *s;
/* Check for messages */
ast_app_messagecount(peer->mailbox, &newmsgs, &oldmsgs);
@@ -9735,6 +9736,10 @@
/* Recalculate our side, and recalculate Call ID */
if (ast_sip_ouraddrfor(&p->sa.sin_addr,&p->ourip))
memcpy(&p->ourip, &__ourip, sizeof(p->ourip));
+ strcpy(p -> username, peer -> mailbox); /* Username = Mailbox name */
+ s = strchr(p -> username, '@'); /* Remove the context part */
+ if (s != NULL)
+ *s = 0;
build_via(p, p->via, sizeof(p->via));
build_callid(p->callid, sizeof(p->callid), p->ourip, p->fromdomain);
/* Send MWI */
The code between the version above and the current asterisk version is different and my attempts to attain the same MWI functionality have failed.
Does anyone know how to modify the current chan_sip.c to get the same effect as the changes above did for the older version?
Any help is much appreciated,
Dustin