Commit Graph

61 Commits

Author SHA1 Message Date
Christian Richter
ce99e9d955 bchannel configurations like echocancel and volume control, need to be setuped on inbound calls too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@73252 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-04 14:50:58 +00:00
Christian Richter
fc4111b44f check if the bchannel stack id is already used, if so don't use it a second time. Also added a release_chan lock, so that the same chan_list object cannot be freed twice. chan_misdn does not crash anymore on heavy load with these changes.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-29 13:08:26 +00:00
Christian Richter
3637816f4c simplified generation for dummy bchannels, also we mark them as dummies, so they are not used later as real-bchannels, optimized the RESTART mechanisms, we block a channel now on cause:44, and send out a RESTART automatically, then on reception of RESTART_ACKNOWLEDGE we unblock the channel again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72099 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 13:22:37 +00:00
Christian Richter
5f272436b9 simplified channel finding and locking a lot. removed unnecessary #ifdefed areas.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72087 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 09:26:53 +00:00
Christian Richter
085065ac35 isdn_lib.c didn't compile
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72041 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 07:54:30 +00:00
Christian Richter
16ecedee04 for inbound TE calls, we setup the bchannel when we get the CONNECT_ACKNOWLEDGE, to make sure mISDN has everything ready. removed some #if 0 areas which weren't used anymore.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@72040 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-27 07:49:27 +00:00
Christian Richter
d8d4454ae5 we activate the bchannels in TE mode on incoming calls only when we want to connect the call.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70672 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-21 13:11:29 +00:00
Christian Richter
f5f018a209 forgot one place ..
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-20 15:42:39 +00:00
Christian Richter
7fc236e53b fixed a bug that was introduced by copy and paste in the last commit ..bchannels weren't cleaned properly.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-20 15:29:09 +00:00
Christian Richter
ede913f976 on receiption of cause:44 we mark the channel as in use and inform the user about the situation, we need to test the RESTART stuff then. Also shuffled the empty_chan_in_stack function after the bchannel cleaning functions, to avoid race conditions.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@70311 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-20 14:47:59 +00:00
Christian Richter
ba372aa9a4 restart indicator 0x80 is correct, at least that's what libpri does.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@69053 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-13 09:55:54 +00:00
Christian Richter
9809905c76 added check for NULL Pointer when calling misdn_new. Asterisk does not allow us to create channels anymore when stop gracefully is used :). also modified the restart_indicator to 0
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@68732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 16:49:00 +00:00
Christian Richter
5cc2b1078e fixed problem that the dummybc chanels had no lock, checking for the lock now. Also fixed the channel restart stuff, we can now specify and restart particular channels too.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@68631 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 09:18:01 +00:00
Christian Richter
f002ad09a3 briding is a bool, fixed copy and paste issue.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@67307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 15:42:03 +00:00
Nadi Sarrar
e0f4f4969c Backport of the overlap_dial functionality from asterisk-1.4's chan_misdn.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@67239 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 11:18:45 +00:00
Christian Richter
3cd1c84e8d added possibility to deactivate bridging per port
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@67209 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-05 10:05:45 +00:00
Christian Richter
58bcd919d5 fixed a warning regarding Keypad encoding. encode the IE sending_complete at the right position.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@65007 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 11:23:11 +00:00
Christian Richter
048000f9d6 added application misdn_check_l2l1 which tries to pull up the L1/L2 on all ports that have the layers down in a group. It waits then for a timeout. This helps for scenarios where multiple PMP BRIs are grouped together, or where a provider has a faulty PTP Implementation, that looses the L2 after a while.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@63402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-08 15:07:37 +00:00
Christian Richter
2102128500 when we're in state WAITING4DIGS, we use the asterisk tone-generator which prods us, so we can't just return -1 in misdn_write in this case. Added a MISDN_KEYPAD channel variable, and fixed the sending of keypad. this enables us to modify the call forward parameters in the switch.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@62945 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-03 15:39:21 +00:00
Christian Richter
70e95c4846 fixed the problem that misdn_write did not return -1 when called with 0 samples in a frame this resultet in a deadlock in some circumstances, when the call ended because of a busy extension. added encoding of keypad.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@62885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-03 13:59:00 +00:00
Christian Richter
f1edea1129 added lock for sending messages to avoid double sending. shuffled some empty_chans after the cb_event calls, this avoids that a release_complete from a quite different call releases a fresh created setup by accident.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@61770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-24 13:50:05 +00:00
Christian Richter
104b12df79 some fixes for PMP Hold/Retrieve, it should work now, when briding=no
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@61357 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-11 12:05:57 +00:00
Nadi Sarrar
b18a9b92c8 Use the new sysfs way of mISDN 1.2 to check if a port is NT or not.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59788 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-03 09:37:00 +00:00
Christian Richter
30fd84d952 added option which allows us to accept incoming SETUP Messages without automatically sending Proceeding or Setup Acknowledge, this is useful with some broken switches and if you want to Release incoming calls without previously having acknowledged them. The new option is noautorespond_on_setup=yes|no default is no, so we don't break the existing behaviour
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-02 12:08:12 +00:00
Christian Richter
51366b90d0 we can now make 30 channels on a PRI (before we forgot chan 31..)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59623 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-02 07:12:24 +00:00
Nadi Sarrar
681c63cd92 mISDN >= 1.2 provides a dsp pipeline for i.e. echo cancellation modules, make chan_misdn use it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@59199 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 10:21:56 +00:00
Christian Richter
3b2e8feab4 added method standard_dec for dialing out on groups, to avoid conflicts, which caused issues with some ISDN providers
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@58849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-13 11:58:16 +00:00
Christian Richter
c0cf86d6c8 we can free channel 31 as well, since we can occupy it
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@58558 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-09 14:43:58 +00:00
Christian Richter
dfcff16e09 fixed another place where the out_cause was hardcoded to 16
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@57753 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-04 10:39:50 +00:00
Christian Richter
a9252f4549 fixed typo
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@57523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-02 18:32:51 +00:00
Christian Richter
93c0385bc0 fixed bugs.digium.com bugs: #9157 and bugs.beronet.com bugs: #302, #303, #304
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@57034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-02-28 16:09:27 +00:00
Christian Richter
ec4c828386 fixed some possible segfaults. also fixed an very important bug which occurs on high load (when calls are very fast generated)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@52843 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-30 14:38:08 +00:00
Christian Richter
5704d29ffa when we get L2 UP, the L1 is UP definitely too, so we set the L1 state up as well.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@50506 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-11 14:45:38 +00:00
Christian Richter
ec695243af * more additions to make the RESTART message work
* added fix for misdn_call to allow SETUPs with empty 
  extensions, replaced the strtok_r functions with strsep for that 
  (inspired by Sandro Cappellazzo, thanks)



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@50495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-11 13:27:52 +00:00
Christian Richter
f5507d2431 more fixes regarding warnings for gcc-4 and first additions for the restart Information element, in the first step we initiate a restart with a CLI command
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@50335 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-10 09:51:00 +00:00
Christian Richter
9713819c85 make gcc 4 happy, remove some warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@49922 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-08 08:37:08 +00:00
Christian Richter
9c8bcc3c1c * Added check for bridging in misdn_call to avoid setting echocancellation
when 2 mISDN channels are involved and when bridging is set. That lead
  to a kernel panic before under different situations, because we switched 
  about 2 times between hardware bridging and echocancelation
* readded MISDN_URATE variable which got lost before, this should make app_v110
  work again
* fixed typo



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@49303 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-03 08:24:00 +00:00
Christian Richter
6e6fa1c71f added check for channel ranges in the set/empty channel functions. set pmp_l1_check default to no. added misdn restart pid cli command. added cleaning of channel when we send a RELEASE_COMPLETE.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@49135 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-02 10:07:22 +00:00
Christian Richter
526b32f5e6 when we reject a channel, because it's in use already, we shouldn't process the setup anymore. made the channel allocation a bit easier and more understandable, removed a few unused lines
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@48576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-19 13:08:51 +00:00
Christian Richter
7716c778e4 when our PTP Partner sends us a SETUP with a preselected channel we just accept it, even when we're NT. added some checks for segfaults.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@48552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-18 10:19:39 +00:00
Christian Richter
b9bddd3063 removed FIXUP state. added check for channel allocation conflict when we create a setup while the other site creates a setup on the same channel, besides the check we resolve this conflict.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@48467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-14 13:03:49 +00:00
Christian Richter
6d3c784a84 added the export and import of the MISDN_ADDRESS_COMPLETE Variable to inidcate wether the extension is already completely dialed or if there might come additional digits by information elements. also added some docs for that.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@48321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-12-06 15:48:45 +00:00
Christian Richter
f4137d1609 fixed a litle bug regarding HOLD/RETRIEVE. beatufied some logs, changed some loglevels. changed the default value of block_on_alarm
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-23 16:10:23 +00:00
Christian Richter
a173aeca9d Fixed segfault when no misdn.conf exists, reported by Igor Neves, thanks.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@47359 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-11-09 13:09:10 +00:00
Christian Richter
dc0cb27752 fixed a bug which caused chan_misdn to try to allocate 2 times the same channel on high load, which then caused instability of mISDN. removed a useless function from isdn_lib.c
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@46350 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-27 09:24:01 +00:00
Christian Richter
78d7b2641a added nttimeout option to configure wether we disconnect calls on NT timeouts or not during an overlapdial session
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@46176 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-25 08:41:59 +00:00
Christian Richter
0bd76b00b2 fixed some echocandisable issues when bridged. this caused a kernel panic sometimes..also some minor formatting fixes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@45020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 13:11:13 +00:00
Christian Richter
4981d1c5dd fixed issue, that the hangupcause got a wrong isdn cause at RELEASE_COMPLETE
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@44993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-13 07:40:07 +00:00
Christian Richter
722d56e081 (re)added support of dynamical enabling hdlc on bchannels
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@44785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-10 13:34:33 +00:00
Christian Richter
0b4f47c3c3 added the option 'reject_cause' to make it possible to set the RELEASE_COMPLETE - cause on the 3. incoming PMP channel, which is automatically rejected because chan_misdn does not support that kind of callwaiting. Therefore chan_misdn supports now 3 incoming channels on a PMP BRI Port. misdn_lib_get_free_bc now gets the info if the requested channel is incoming or outgoing to make the 3. channel possible
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.2@44334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-04 15:13:58 +00:00