Re: asterisk 13.24.0 - MWI notify error

2018-12-20 Thread Stuart Henderson
On 2018/12/19 14:32, Mark Patruck wrote:
> Hi,
> 
> with the update to asterisk 13.24.0 you don't receive any MWI notifys
> when a new voicemail got recorded. (tested with Yealink phones)
> 
> Yesterday, ASTERISK-28215 has been opened and already closed today, but
> as i don't know how long we have to wait for a new release, i've added
> a patch to telephony/asterisk to temp fix this.
> 
> Tested on amd64 (notifys are working again)

Thanks, committed (plus comment header to show where the patch came from).



asterisk 13.24.0 - MWI notify error

2018-12-19 Thread Mark Patruck
Hi,

with the update to asterisk 13.24.0 you don't receive any MWI notifys
when a new voicemail got recorded. (tested with Yealink phones)

Yesterday, ASTERISK-28215 has been opened and already closed today, but
as i don't know how long we have to wait for a new release, i've added
a patch to telephony/asterisk to temp fix this.

Tested on amd64 (notifys are working again)


Index: Makefile
===
RCS file: /cvs/ports/telephony/asterisk/Makefile,v
retrieving revision 1.288
diff -u -p -r1.288 Makefile
--- Makefile12 Dec 2018 10:52:13 -  1.288
+++ Makefile19 Dec 2018 13:10:32 -
@@ -8,6 +8,7 @@ PORTROACH=  limitw:0,odd
 DISTNAME=  asterisk-${VER:S/beta/-beta/:S/rc/-rc/}
 DISTFILES= ${DISTNAME}${EXTRACT_SUFX} pjproject-${PJ_V}.tar.bz2:0
 PKGNAME-main=  asterisk-${VER}
+REVISION-main= 0
 
 CATEGORIES=telephony
 
Index: patches/patch-apps_app_voicemail_c
===
RCS file: patches/patch-apps_app_voicemail_c
diff -N patches/patch-apps_app_voicemail_c
--- /dev/null   1 Jan 1970 00:00:00 -
+++ patches/patch-apps_app_voicemail_c  19 Dec 2018 13:10:32 -
@@ -0,0 +1,45 @@
+$OpenBSD$
+
+Index: apps/app_voicemail.c
+--- apps/app_voicemail.c.orig
 apps/app_voicemail.c
+@@ -2026,10 +2026,6 @@ static void free_user(struct ast_vm_user *vmu)
+   return;
+   }
+ 
+-  if (!ast_strlen_zero(vmu->mailbox)) {
+-  ast_delete_mwi_state_full(vmu->mailbox, vmu->context, NULL);
+-  }
+-
+   ast_free(vmu->email);
+   vmu->email = NULL;
+   ast_free(vmu->emailbody);
+@@ -2042,6 +2038,19 @@ static void free_user(struct ast_vm_user *vmu)
+   }
+ }
+ 
++static  void free_user_final(struct ast_vm_user *vmu)
++{
++  if (!vmu) {
++  return;
++  }
++
++  if (!ast_strlen_zero(vmu->mailbox)) {
++  ast_delete_mwi_state_full(vmu->mailbox, vmu->context, NULL);
++  }
++
++  free_user(vmu);
++}
++
+ static int vm_allocate_dh(struct vm_state *vms, struct ast_vm_user *vmu, int 
count_msg) {
+ 
+   int arraysize = (vmu->maxmsg > count_msg ? vmu->maxmsg : count_msg);
+@@ -13491,7 +13500,7 @@ static void free_vm_users(void)
+   AST_LIST_LOCK();
+   while ((current = AST_LIST_REMOVE_HEAD(, list))) {
+   ast_set_flag(current, VM_ALLOCED);
+-  free_user(current);
++  free_user_final(current);
+   }
+   AST_LIST_UNLOCK();
+ }


-- 
Mark Patruck ( mark at wrapped.cx )
GPG key 0xF2865E51 / 187F F6D3 EE04 1DCE 1C74  F644 0D3C F66F F286 5E51

https://www.wrapped.cx