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>