From owner-freebsd-isdn@FreeBSD.ORG Mon Nov 12 22:14:29 2012 Return-Path: Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id 34FA8892 for ; Mon, 12 Nov 2012 22:14:29 +0000 (UTC) (envelope-from longwitz@incore.de) Received: from dss.incore.de (dss.incore.de [195.145.1.138]) by mx1.freebsd.org (Postfix) with ESMTP id DF9A38FC12 for ; Mon, 12 Nov 2012 22:14:28 +0000 (UTC) Received: from inetmail.dmz (inetmail.dmz [10.3.0.3]) by dss.incore.de (Postfix) with ESMTP id A1B315C860; Mon, 12 Nov 2012 23:14:27 +0100 (CET) X-Virus-Scanned: amavisd-new at incore.de Received: from dss.incore.de ([10.3.0.3]) by inetmail.dmz (inetmail.dmz [10.3.0.3]) (amavisd-new, port 10024) with LMTP id 3wjBaROZZ1xq; Mon, 12 Nov 2012 23:14:26 +0100 (CET) Received: from mail.incore (fwintern.dmz [10.0.0.253]) by dss.incore.de (Postfix) with ESMTP id E7C475C85F; Mon, 12 Nov 2012 23:14:26 +0100 (CET) Received: from bsdmhs.longwitz (unknown [192.168.99.6]) by mail.incore (Postfix) with ESMTP id 8A8085084C; Mon, 12 Nov 2012 23:14:26 +0100 (CET) Message-ID: <50A174C2.2050807@incore.de> Date: Mon, 12 Nov 2012 23:14:26 +0100 From: Andreas Longwitz User-Agent: Thunderbird 2.0.0.19 (X11/20090113) MIME-Version: 1.0 To: Hans Petter Selasky Subject: Re: ISDN4BSD (HPS version) is going into ports References: <509E87EF.9070607@incore.de> <201211112246.44683.hselasky@c2i.net> In-Reply-To: <201211112246.44683.hselasky@c2i.net> Content-Type: text/plain; charset=iso-8859-1 Content-Transfer-Encoding: 7bit Cc: freebsd-isdn@freebsd.org X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.14 Precedence: list List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 12 Nov 2012 22:14:29 -0000 Hi Hans > It appears to me that the Asterisk API has changed, and now needs a > final deref, by the allocator of the call structure. Could you try > this patch, on a non-production system and see what happens: > Index: chan_capi/chan_capi.c > =================================================================== > --- chan_capi/chan_capi.c (revision 2419) > +++ chan_capi/chan_capi.c (working copy) > @@ -1945,6 +1945,11 @@ > if (pbx_chan->rings == 0) > pbx_chan->rings = 1; > } > + } else { > +#if (CC_AST_VERSION >= 0x10800) > + /* drop final refcount */ > + hangup_what |= 2; > +#endif > } > > if (hard_hangup) { I have tried this patch and the result with one incoming call looks like this: -> asterisk -rx "core show channels" (before the call) Channel Location State Application(Data) 0 active channels 0 active calls 0 calls processed Asterisk ending (0). -> asterisk -rx "core show channels" (during the call) Channel Location State Application(Data) CAPI/ISDN_TE_1/49940 4994068@capi_telekom Up Playback(rup_ansage_zeiten) 1 active channel 1 active call 1 call processed Asterisk ending (0). -> asterisk -rx "core show channels" (after hangup) Channel Location State Application(Data) 4994068@capi_telekom Up (None) 1 active channel 0 active calls 1 call processed Asterisk ending (0) With the patch, only the name of the channel has gone, not the channel itself. Without the patch the output of the last command (after hangup) was the same as during the call. . -- Andreas Longwitz