Summary: | ASTERISK-08993: [Patch] SMDI features | ||
Reporter: | Patrick Cole (ltd) | Labels: | |
Date Opened: | 2007-03-12 18:37:29 | Date Closed: | 2008-02-25 18:28:02.000-0600 |
Priority: | Major | Regression? | No |
Status: | Closed/Complete | Components: | Core/General |
Versions: | Frequency of Occurrence | ||
Related Issues: | |||
Environment: | Attachments: | ( 0) trunk_smdi_features.patch | |
Description: | I found that using the built in SMDI code in production, there were a few problems: 1) When two calls come in at roughly the same time, the SMDI messages generally come in the right order but the calls don't necessarily hit the zap channels in that same order, resulting in incorrect SMDI messages being popped off the queue for both calls. In my setup I coordinated with my telco so that the zap channels I plugged my lines into corresponded to the message desk terminal number field of incoming SMDI MD messages. As such I've included code that matches the Zap channel to the terminal number when you choose to enable it using smdimatchterm=yes in zapata.conf. This solved the issue for me. 2) My voicemail extensions were four digits but the telco switch requires that SMDI messages are in FNN format. I added an mwiprefix option to the smdi config so that when I send MWI operate and RMV messages, the prefix is prepended to the mailbox extension and everything works nicely. ****** ADDITIONAL INFORMATION ****** Reposted with features only as per request by serge-v | ||
Comments: | By: Patrick Cole (ltd) 2007-03-14 19:05:13 I'm not confident there is anyone else out there that would be able to test this other than me. SMDI interfaces are not very common. By: Serge Vecher (serge-v) 2007-03-15 08:18:18 jaroth: would you be able to test these SMDI features? By: James Rothenberger (jaroth) 2007-03-15 08:35:46 We will be testing them more in the next few weeks at University of Pennsylvania. By: Serge Vecher (serge-v) 2007-03-15 08:54:47 jaroth: thanks! ltd: you are welcome to help jaroth with testing in 9055 ;) By: Patrick Cole (ltd) 2007-03-15 19:29:42 Nice one jaroth. Interesting, didn't see 9055. I'll see if I can help! By: Patrick Cole (ltd) 2007-03-15 19:33:07 Looking at 9055 it looks like maybe we should try and integrate these two patches into one as there is some overlap for the message queue popping/waiting functions. Want me to go give it a go or do you want to do it jaroth? By: James Rothenberger (jaroth) 2007-03-16 12:59:35 ltd - go for it, I'll try to test the change with my SIP integration. By: Jason Parker (jparker) 2007-11-13 17:27:19.000-0600 Has there been any update here? I'd like to see this get committed. By: Patrick Cole (ltd) 2007-11-13 19:44:52.000-0600 Have been running it in production since march and no issues thus far. I probably won't have time to intregate it with the SIP functionality as indicated previously. I still think this should be merged, however... I can't imagine anyone running SMDI in production without it... By: James Rothenberger (jaroth) 2007-11-14 08:37:12.000-0600 We are trying to get a test environment (with SMDI) set up so we can test the patch with the latest SVN trunk. The test environment should be finished this week. By: Russell Bryant (russell) 2008-02-25 18:17:29.000-0600 I actually have a set of significant changes to SMDI support that I am about to merge in that addresses these issues. I did all of my work before I even saw that this issue existed. However, thank you very much for your patch! By: Digium Subversion (svnbot) 2008-02-25 18:21:51.000-0600 Repository: asterisk Revision: 104119 U branches/1.4/apps/app_voicemail.c U branches/1.4/channels/chan_zap.c U branches/1.4/configs/smdi.conf.sample U branches/1.4/include/asterisk/smdi.h U branches/1.4/res/res_smdi.c ------------------------------------------------------------------------ r104119 | russell | 2008-02-25 18:21:50 -0600 (Mon, 25 Feb 2008) | 33 lines Merge changes from team/russell/smdi-1.4 This commit brings in a significant set of changes to the SMDI support in Asterisk. There were a number of bugs in the current implementation, most notably being that it was very likely on busy systems to pop off the wrong message from the SMDI message queue. So, this set of changes fixes the issues discovered as well as introducing some new ways to use the SMDI support which are required to avoid the bugs with grabbing the wrong message off of the queue. This code introduces a new interface to SMDI, with two dialplan functions. First, you get an SMDI message in the dialplan using SMDI_MSG_RETRIEVE() and then you access details in the message using the SMDI_MSG() function. A side benefit of this is that it now supports more than just chan_zap. For example, with this implementation, you can have some FXO lines being terminated on a SIP gateway, but the SMDI link in Asterisk. Another issue with the current implementation is that it is quite common that the station ID that comes in on the SMDI link is not necessarily the same as the Asterisk voicemail box. There are now additional directives in the smdi.conf configuration file which let you map SMDI station IDs to Asterisk voicemail boxes. Yet another issue with the current SMDI support was related to MWI reporting over the SMDI link. The current code could only report a MWI change when the change was made by someone calling into voicemail. If the change was made by some other entity (such as with IMAP storage, or with a web interface of some kind), then the MWI change would never be sent. The SMDI module can now poll for MWI changes if configured to do so. This work was inspired by and primarily done for the University of Pennsylvania. (also related to issue ASTERISK-8993) ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=104119 By: Digium Subversion (svnbot) 2008-02-25 18:28:02.000-0600 Repository: asterisk Revision: 104120 _U trunk/ U trunk/apps/app_voicemail.c U trunk/channels/chan_zap.c U trunk/configs/smdi.conf.sample U trunk/include/asterisk/smdi.h U trunk/res/res_smdi.c ------------------------------------------------------------------------ r104120 | russell | 2008-02-25 18:28:01 -0600 (Mon, 25 Feb 2008) | 41 lines Merged revisions 104119 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r104119 | russell | 2008-02-25 18:25:29 -0600 (Mon, 25 Feb 2008) | 33 lines Merge changes from team/russell/smdi-1.4 This commit brings in a significant set of changes to the SMDI support in Asterisk. There were a number of bugs in the current implementation, most notably being that it was very likely on busy systems to pop off the wrong message from the SMDI message queue. So, this set of changes fixes the issues discovered as well as introducing some new ways to use the SMDI support which are required to avoid the bugs with grabbing the wrong message off of the queue. This code introduces a new interface to SMDI, with two dialplan functions. First, you get an SMDI message in the dialplan using SMDI_MSG_RETRIEVE() and then you access details in the message using the SMDI_MSG() function. A side benefit of this is that it now supports more than just chan_zap. For example, with this implementation, you can have some FXO lines being terminated on a SIP gateway, but the SMDI link in Asterisk. Another issue with the current implementation is that it is quite common that the station ID that comes in on the SMDI link is not necessarily the same as the Asterisk voicemail box. There are now additional directives in the smdi.conf configuration file which let you map SMDI station IDs to Asterisk voicemail boxes. Yet another issue with the current SMDI support was related to MWI reporting over the SMDI link. The current code could only report a MWI change when the change was made by someone calling into voicemail. If the change was made by some other entity (such as with IMAP storage, or with a web interface of some kind), then the MWI change would never be sent. The SMDI module can now poll for MWI changes if configured to do so. This work was inspired by and primarily done for the University of Pennsylvania. (also related to issue ASTERISK-8993) ........ ------------------------------------------------------------------------ http://svn.digium.com/view/asterisk?view=rev&revision=104120 |