Skip site navigation (1)Skip section navigation (2)
Date:      Wed, 8 Nov 2006 19:27:57 +0100
From:      Hans Petter Selasky <hselasky@c2i.net>
To:        Daniel Hartmeier <daniel@benzedrine.cx>
Cc:        freebsd-isdn@freebsd.org
Subject:   Re: ISDN4BSD / ihfc0 in NT-mode setup
Message-ID:  <200611081927.57954.hselasky@c2i.net>
In-Reply-To: <20061108175118.GC6819@insomnia.benzedrine.cx>
References:  <20061108135555.GK14033@insomnia.benzedrine.cx> <200611081613.04423.hselasky@c2i.net> <20061108175118.GC6819@insomnia.benzedrine.cx>

next in thread | previous in thread | raw e-mail | index | archive | help
On Wednesday 08 November 2006 18:51, Daniel Hartmeier wrote:
> On Wed, Nov 08, 2006 at 04:13:03PM +0100, Hans Petter Selasky wrote:
> > It seems like you have configure the NT-side to P2P mode.
> >
> > Try running "isdnconfig -u 0 -p DRVR_DSS1_NT".
> >
> > Then "cat /dev/i4b > /dev/null &" or run "capitest -u 0 -i 1 -o 1".
> >
> > Then pickup the phone. Have "isdndecode" running concurrently. Do you
> > hear the dialtone ?
>
> Yes, that was it. Now with P2MP and opening /dev/i4b it works.
>
> I wrote a little reader for the device, and when I pick up the receiver
> on the phone, I get a dialtone, and I see MSG_CONNECT_IND messages with
> the numbers dialed. The other way around, running capitest to dial the
> phone, it rings.
>
> So the cabling seems fine and the basics are working, thank you very
> much!
>
> Is the ioctl protocol (the MSG_* messages) something ISDN4BSD specific?

Yes.

> They seem to resemble Q.931 as far as event types go. Is there a way to
> get access to the Q.931 layer directly from userland, without going
> through any abstraction?

If you don't open /dev/i4b, you can open /dev/ihfc0.0 instead. That gives you 
direct access to the D-channel. Currently it is not possible to insert frames 
at layer-3.

>
> What I'd like to do is write (in userland) a Q.931 <-> SIP relay, and
> use ISDN4BSD for the ISDN side. Ideally, I could read/write Q.931 frames
> to the device (having ISDN4BSD do the lower layers itself), i.e. get
> access to the raw binary frames.
>
> It looks like i4btrc might already allow to read the Q.931 frames, is
> there a way to inject frames on that level?

No, /dev/i4btrcX does not allow insertion of frames.

> Before I go dive into the kernel side of the ISDN4BSD ioctls, is this
> already available (I'm still not sure what the effect of the P_*
> protocols is on the userland interface)? Do you think it would be
> difficult to implement?

It depends on what you want to do. I would just use the CAPI 2.0 interface of 
I4B, and extend the CAPI protocol as needed. Then your system will look like 
this:

ISDN -> I4B <-> CAPI <-> SIP

--HPS



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200611081927.57954.hselasky>