Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 12 Jan 2001 23:04:39 +0100
From:      Oliver von Bueren <maillist@ovb.ch>
To:        freebsd-isdn@freebsd.org
Subject:   i4b as tel server
Message-ID:  <aauu5tgr97t99u40hdjrdpfv3mbdasj8uj@4ax.com>

next in thread | raw e-mail | index | archive | help

----=_nrvu5to43n7geasji9qtf79blo4ekvv2cf.MFSBCHJLHS
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit

Hello all together.

I'm using i4b for a telephony application (call it voice server),
which basicaly just answers the phone and plays back some messages, in
a further stage also with recording. But that does not matter. 

The system setup is FBSD 4.2, i4b 0.96.00. Hardware: 2 (two) Teles
S0.8. This gives me 4 channels. Connected this box to a PBX which is
connected to the public ISDN network. Each of the Teles cards has it's
own internal S-Bus. Channels to the outside are also no problem. 

Now I have some basic design questions or comments, perhaps Hellmuth
or anyone else can give me some hints in which direction he thinks it
should go. 

My voice server has different services running on them. One MSN equals
to one service. Every channel should be able to answer to any of the
services (and do what the service should do of course, depending on
the given answerprog). With the current way isdnd is mapping incomming
calls to entries this is quite complicated when it comes to creating
the configuration. Some of the options are no problem (name,
usrdevicename, local-phone-incoming, remote-phone-incoming,
dialin-reaction, b1protocol, alert, answerprog) but there are the
problematic ones: isdncontroller, isdnchannel, usrdeviceunit,
especialy the usrdeviceunit one. As this one is a mandatory one, as I
understood it from the manual, I have to create one entry section per
isdn channel to serve, to make sure every channel gets it's own
/dev/i4btelXX device. In my current configuration this means, to
provide 3 different services I need 12 entry sections and also 12
i4btel devices. Not very nice to maintain. 

Now my suggestion is to have an option for usrdeviceunit = -1 which
means that on an incomming call the function
find_matching_entry_incoming takes the firsts free device it finds. I
think this could also get handy on data calls if you want to provide
more than one channel for dialin. This would make it possible to use
generic values for these three config keys (isdncontroller=-1,
isdnchannel=-1, usrdeviceunit=-1).

What do you think? Any suggestions are welcome!

BTW: While implementing the current setup I had to enhance the
mentioned function in support.c to also check if the controller, on
which the call gets in, matches the one given in the entry section, or
-1 for any controller. The diff is appended to the message.



       Cheers,
       Oliver

----=_nrvu5to43n7geasji9qtf79blo4ekvv2cf.MFSBCHJLHS
Content-Type: text/plain; charset=us-ascii; name=support_controller_diff
Content-Transfer-Encoding: 7bit
Content-Description: Check controller on incoming calls
Content-Disposition: attachment; filename=support_controller_diff

*** support.c.org	Fri Jan 12 22:17:40 2001
--- support.c	Fri Jan 12 22:30:56 2001
***************
*** 444,449 ****
--- 444,459 ----
  			return(NULL);
  		}
  
+       /* check controller he wants */
+ 
+       /*    check for any            or specific controller */
+       if( (mp->controller != -1) && (mp->controller != cep->isdncontroller) )
+       {
+          log(LL_CHD, "%05d %s incoming call, mychannel %d != incoming %d",
+                            mp->header.cdid, cep->name, cep->isdncontroller, mp->controller);
+          continue;
+       }
+ 
  		/* check channel he wants */
  
  		switch(mp->channel)

----=_nrvu5to43n7geasji9qtf79blo4ekvv2cf.MFSBCHJLHS--


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-isdn" in the body of the message




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