From owner-freebsd-isdn@FreeBSD.ORG Mon Jun 20 22:43:09 2005 Return-Path: X-Original-To: freebsd-isdn@freebsd.org Delivered-To: freebsd-isdn@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [216.136.204.125]) by hub.freebsd.org (Postfix) with ESMTP id A268816A41C for ; Mon, 20 Jun 2005 22:43:09 +0000 (GMT) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe05.swip.net [212.247.154.129]) by mx1.FreeBSD.org (Postfix) with ESMTP id 3BCAF43D1F for ; Mon, 20 Jun 2005 22:43:09 +0000 (GMT) (envelope-from hselasky@c2i.net) X-T2-Posting-ID: gvlK0tOCzrqh9CPROFOFPw== Received: from mp-216-40-142.daxnet.no ([193.216.40.142] verified) by mailfe05.swip.net (CommuniGate Pro SMTP 4.3.2) with ESMTP id 205026620; Tue, 21 Jun 2005 00:43:06 +0200 From: Hans Petter Selasky To: freebsd-isdn@freebsd.org, twinterg@gmx.de Date: Tue, 21 Jun 2005 00:43:57 +0200 User-Agent: KMail/1.7 References: <7112CBFA-724E-4846-AA2E-1EFBC4B49CE2@cian.ws> <42B53878.2020407@nord-com.net> In-Reply-To: <42B53878.2020407@nord-com.net> MIME-Version: 1.0 Content-Disposition: inline Content-Type: text/plain; charset="iso-8859-1" Content-Transfer-Encoding: 7bit Message-Id: <200506210044.00616.hselasky@c2i.net> Cc: Subject: Re: Problem with C4B on FreeBSD-Stable X-BeenThere: freebsd-isdn@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: hselasky@c2i.net List-Id: Using ISDN with FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Mon, 20 Jun 2005 22:43:09 -0000 On Sunday 19 June 2005 11:18, Thomas Wintergerst wrote: > Cian Hughes wrote: > > on Hold, and concentrate on making a new patchset for FreeBSD-Current. > > How hard do you think it would be to get c4b incorporated into > > FreeBSD-Current, this patching lark is a bit of a pain. > > You are right. We are working on this topic. But during the current code > freeze it will not be possible. Another problem is that C4B does not support passive devices. The way CAPI is designed there cannot be more than one CAPI interface. So one CAPI interface for passive cards and one for active cards, is not going to work! The only solution I see is that one upgrades the I4B layer to support the features required, e.g. overlap-sending, and then puts a CAPI layer on top of that. If this is done right, not so many features are lost. And maybe there will be features provided by I4B that CAPI doesn't provide. Overview: ISDN PASSIVE CAPI: /dev/capi20 (pseudo device) CAPI ACTIVE I4B: /dev/i4b (pseudo device) <--> I4B common layer <--> SIP ? VoIP ? Implementation example: /*---------------------------------------------------------------------------* * send MSG_ALERT_IND message to userland *---------------------------------------------------------------------------*/ void i4b_l4_alert_ind(call_desc_t *cd) { struct mbuf *m; if(cd->interface == I4B || cd->interface == BROADCAST) { if((m = i4b_Dgetmbuf(sizeof(msg_alert_ind_t))) != NULL) { msg_alert_ind_t *mp = (void *)m->m_data; mp->header.type = MSG_ALERT_IND; mp->header.cdid = cd->cdid; i4bputqueue(m); } } if(cd->interface == CAPI || cd->interface == BROADCAST) { ... capiputqueue(...); } return; } Does anyone see that one can easily generate multiple telephony API's just by adding a few lines of code to some files in "/sys/i4b/layer4"? It maybe is a little off topic, but I4B is not dead. Even though much telephony is changing over to SIP, people shouldn't be fooled into writing dedicated applications for SIP. The missing link is a SIP driver that can speak I4B and CAPI. So has anyone been thinking about that? --HPS