ISDN4BSD (HPS version) is going into ports

Paul Schenkeveld freebsd at psconsult.nl
Mon Nov 12 10:23:42 UTC 2012


On Sun, Nov 11, 2012 at 10:46:44PM +0100, Hans Petter Selasky wrote:
> On Saturday 10 November 2012 17:59:27 Andreas Longwitz wrote:
> > Hi,
> > 
> > I am runnung FreeBSD 8.3 with isdn4bsd 2.0.4 + chan_capi 2.0.2 from
> > ports and asterisk 1.8.16. On my production system with two HFC-4S
> > adapters (one in NT-mode, the other in TE-mode) and some SIP-phones I
> > have the following problem: asterisk runs in a deadlock two or three
> > times a week, nothing but kill -9 helps.
> > 
> > During looking for a possible reason for the deadlock I found that
> > asterisk never destroys a channel from a call initiated inbound by i4b.
> > 
> > On the asterisk console the command "capi show" always gives the correct
> > infos about busy isdn channels, but "core show channels verbose" lists
> > more and more channels. For every call incoming via i4b the channel
> > remains in the list of active asterisk channels. Outgoing isdn channels
> > and all sip channels disappear after hangup.
> > 
> > For a call incoming via i4b I see on hangup that chan_capi_hangup() is
> > called and then cd_free() with state=6 (CAPI_STATE_CONNECTED),
> > send_release_complete=1, causeOut=0x3490 and hangup_what=0. Afterwards I
> > see the call of capi_send_disconnect_req.
> > 
> > In the case of dir_incoming I can see nothing that informs asterisk
> > about the free channel. I suppose in the case dir_outgoing this is done
> > by  "ast_setstate(pbx_chan, AST_STATE_DOWN)" in cd_free().
> 
> Hi,
> 
> I'll have a look at this issue this week. Sounds like reproducible. We 
> probably should compare with other channel drivers what they are doing.
> 
> Do you see this problem using older versions of asterisk?

I still have one asterisk 1.8.8.1 server on FreeBSD 8.2 with a single
HFC card connected to the public ISDN network.  It's only used to
receive calls.

Seems my channels hang till next restart of asterisk too:

  pbx*CLI> core show channels verbose

  Channel      Context  Extension  Prio State  Application  Data    CallerID    Duration Accountcode PeerAccount BridgedTo
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  351:59:4                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  336:01:3                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     7 Up     (None)       (None)  yyyyyyyyyy         -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              331:27:2                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  315:21:5                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              302:36:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  290:39:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  280:28:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              278:20:4                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              277:53:5                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              277:45:4                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  264:39:5                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  264:24:5                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  254:25:3                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  239:24:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  234:59:0                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  232:32:3                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  231:07:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  210:29:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  187:45:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  167:34:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  167:10:2                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  147:33:0                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)              142:21:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  140:36:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  113:32:1                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx    10 Up     (None)       (None)                     -                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  88:15:20                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Up     (None)       (None)  yyyyyyyyyy  64:05:35                         (None)
  CAPI/isdn/30 isdn-in  xxxxxxxxx     5 Ring   (None)       (None)  yyyyyyyyyy         -                         (None)
  37 active channels
  0 active calls
  111 calls processed

The asterisk process was started on Oct 28, 2012 which matches the
oldest channel.

HTH

Paul Schenkeveld


More information about the freebsd-isdn mailing list