From owner-freebsd-isdn@FreeBSD.ORG Mon Nov 12 14:01:26 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 09BD8725 for ; Mon, 12 Nov 2012 14:01:26 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe08.c2i.net [212.247.154.226]) by mx1.freebsd.org (Postfix) with ESMTP id 79A368FC13 for ; Mon, 12 Nov 2012 14:01:25 +0000 (UTC) X-T2-Spam-Status: No, hits=-0.2 required=5.0 tests=ALL_TRUSTED, BAYES_50 Received: from [176.74.213.204] (account mc467741@c2i.net HELO laptop015.hselasky.homeunix.org) by mailfe08.swip.net (CommuniGate Pro SMTP 5.4.4) with ESMTPA id 344634262; Mon, 12 Nov 2012 14:56:17 +0100 From: Hans Petter Selasky To: Paul Schenkeveld Subject: Re: ISDN4BSD (HPS version) is going into ports Date: Mon, 12 Nov 2012 14:58:01 +0100 User-Agent: KMail/1.13.7 (FreeBSD/9.1-PRERELEASE; KDE/4.8.4; amd64; ; ) References: <509E87EF.9070607@incore.de> <201211112246.44683.hselasky@c2i.net> <20121112102332.GA13575@psconsult.nl> In-Reply-To: <20121112102332.GA13575@psconsult.nl> X-Face: 'mmZ:T{)),Oru^0c+/}w'`gU1$ubmG?lp!=R4Wy\ELYo2)@'UZ24N@d2+AyewRX}mAm; Yp |U[@, _z/([?1bCfM{_"B<.J>mICJCHAzzGHI{y7{%JVz%R~yJHIji`y>Y}k1C4TfysrsUI -%GU9V5]iUZF&nRn9mJ'?&>O MIME-Version: 1.0 Content-Type: Text/Plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <201211121458.01139.hselasky@c2i.net> 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 14:01:26 -0000 Hi, I looks like this is a problem on 1.8.x only. I have a 1.6.x system bridging to SIP and more and I don't see lots of unref'ed structures. It appears to me that the Asterisk API has changed, and now needs a final de- ref, 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) { Thank you, -- HPS