From owner-freebsd-isdn Wed Jan 9 8:46:29 2002 Delivered-To: freebsd-isdn@freebsd.org Received: from cubical.fi (ip212-226-173-1.adsl.kpnqwest.fi [212.226.173.1]) by hub.freebsd.org (Postfix) with ESMTP id D09A437B402 for ; Wed, 9 Jan 2002 08:46:23 -0800 (PST) Received: (from root@localhost) by cubical.fi (8.11.6/8.11.6) id g09GkMe18402; Wed, 9 Jan 2002 18:46:22 +0200 (EET) (envelope-from jml@cubical.fi) Received: from portal (jml@portal [192.168.42.3]) by cubical.fi (8.11.6/8.11.6av) with ESMTP id g09GkEY18393; Wed, 9 Jan 2002 18:46:21 +0200 (EET) (envelope-from jml@cubical.fi) Date: Wed, 9 Jan 2002 18:46:14 +0200 (EET) From: Juha-Matti Liukkonen X-X-Sender: To: G Hasse Cc: Subject: Re: isdnphone In-Reply-To: <20020109012823.F2359-100000@gandalf.raditex.se> Message-ID: <20020109183533.S18046-100000@portal.cs-intra.net> MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=iso-8859-1 Content-Transfer-Encoding: 8BIT X-Virus-Scanned: by AMaViS perl-10 Sender: owner-freebsd-isdn@FreeBSD.ORG Precedence: bulk List-ID: List-Archive: (Web Archive) List-Help: (List Instructions) List-Subscribe: List-Unsubscribe: X-Loop: FreeBSD.org Hi, your use of isdnphone looks OK to me; however, the error you are getting is a ...feature of isdnd: in usr.sbin/i4b/isdnd/fsm.c, table state_tab[] defines what events are accepted when the call is in which state -- and it does not (basically) accept more than one hangup per call, be the hangup local or remote. Specifically it does not allow for the situation where _both_ ends hang up the call, since that generates two disconnects, and the latter pulls the entry to illegal state (from which it does not recover). Unfortunately in telephony applications, this is a relatively common phenomena. You might want to mofidy the said table as I have: change the {F_ill, ST_ILL} in the ST_IDLE column for EV_MDI into {F_NcNa,ST_IDLE}, it makes isdnd accept a remote disconnect on an already disconnected call without invalidating the config entry. It already does so for a local disconnect (EV_DRQ) -- so you can actually do multiple local hangups even to a disconnected entry. Br, Juha On Wed, 9 Jan 2002, G Hasse wrote: > > How do I use isdnphone? > > I have a small script that looks like this > > ------------------------------------------------------------- > #!/bin/sh > > # Call someone > /usr/sbin/isdnphone -h -n0705530012 > > # whit until someone answer the phone > sleep 20 > > # Play a sound > /bin/dd of=/dev/i4btel0 if=/home/gh/cron/sound.al bs=2k > /dev/null 2>&1 > > # Hang up hone > /usr/sbin/isdnphone -h > > ---------------------------------------------------------- > > This works once. Then I get no calls any more. I have to > restart the idsnd-daemon. > > In the logfiles I get > > i4b-L3 next_l3state: FSM illegal state, state = ST_U0 - Null, event = > EV_DISCRQ - L4 DISC REQ! > > What does this mean? > > Göran Hasse > > ---------------------------------------------------------------- > Göran Hasse email: gh@raditex.se Tel: 08-6949270 > Raditex AB http://www.raditex.se > Sickla Alle 7, 1tr Mob: 070-5530148 > 131 34 NACKA, SWEDEN > > > > To Unsubscribe: send mail to majordomo@FreeBSD.org > with "unsubscribe freebsd-isdn" in the body of the message > -- Cubical Solutions Ltd, Juha-Matti Liukkonen Phone: +358 40 5280142 Email: jml@cubical.fi To Unsubscribe: send mail to majordomo@FreeBSD.org with "unsubscribe freebsd-isdn" in the body of the message