Commit Graph

2914 Commits (fc4111b44f23f908d47b47af3eaf9d5b952dd1e3)

Author SHA1 Message Date
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.
18 years ago
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.
18 years ago
Christian Richter 5f272436b9 simplified channel finding and locking a lot. removed unnecessary #ifdefed areas.
18 years ago
Christian Richter 085065ac35 isdn_lib.c didn't compile
18 years ago
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.
18 years ago
Joshua Colp 76b4eb5daa Ignore other URIs after the first in a 300 Multiple Choice response. (issue #10041 reported by homesick)
18 years ago
Christian Richter d8d4454ae5 we activate the bchannels in TE mode on incoming calls only when we want to connect the call.
18 years ago
Joshua Colp 6357ad5659 Don't overwrite the configured username setting upon a REGISTER. (issue #8565 reported by jsmith)
18 years ago
Russell Bryant cfaead2b9c Fix a problem where an established call would not be properly disconnected
18 years ago
Christian Richter f5f018a209 forgot one place ..
18 years ago
Christian Richter 7fc236e53b fixed a bug that was introduced by copy and paste in the last commit ..bchannels weren't cleaned properly.
18 years ago
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.
18 years ago
Russell Bryant 6e0248318b Backport fix for crashes related to subscriptions from 1.4 ...
18 years ago
Christian Richter 3322095dea when we send out a SETUP, but get no response, we should cleanup everything after reception of a hangup.
18 years ago
Joshua Colp dc41ce9857 Set the peer name on the dialog to the one configured in sip.conf and NOT the username to be used for authentication attempts. (issue #9967 reported by achauvin)
18 years ago
Christian Richter ba372aa9a4 restart indicator 0x80 is correct, at least that's what libpri does.
18 years ago
Christian Richter 37ded96cfa if the bridged partner is mISDN too we should not send dtmf tones, they are transmitted inband always
18 years ago
Christian Richter 7bb272f942 if we have already some digits, we just stop the tones.
18 years ago
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
18 years ago
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.
18 years ago
Joshua Colp 084ede4507 Only notify the devicestate system of a peer state change when the peer is built from the config file. (issue #9900 reported by arkadia)
18 years ago
Christian Richter f002ad09a3 briding is a bool, fixed copy and paste issue.
18 years ago
Christian Richter e7590d0aec simplified the EVENT_SETUP handling in the cb_events function a lot. Commented the different possibilities a bit and made functions of shared code. When the dialed extension does not exist in the extensions.conf we'll jump into the 'i' extension if this does exist, else we disconnect the call with the cause:1 = No Route to Destination.
18 years ago
Nadi Sarrar e0f4f4969c Backport of the overlap_dial functionality from asterisk-1.4's chan_misdn.
18 years ago
Christian Richter 3cd1c84e8d added possibility to deactivate bridging per port
18 years ago
Joshua Colp 22fe1b73cc It is now possible for this path of execution to have the frame pointer be NULL, therefore we need to check for it before trying to access it. (issue #9836 reported by barthpbx)
18 years ago
Olle Johansson c4e7d9fef5 Issue #9802 - Change inuse counter on CANCEL
18 years ago
Joshua Colp ad2f350d39 Allow RFC2833 to be negotiated when an INVITE comes in without SDP and is not matched to a user or peer. (issue #9546 reported by mcrawford)
18 years ago
Christian Richter 17175c7d54 we should only activate the generator in chan_misdn, when asterisk hask not yet taken the call (WAITING4DIGS state). Alerting audio will be generated fomr asterisk for example.
18 years ago
Kevin P. Fleming cba8e2f704 ensure that variables are set on a newly created channel before we start a PBX on it
18 years ago
Kevin P. Fleming 9edd1e094c if we are going to set variables on a newly created channel, it should be done *before* we start the PBX on it
18 years ago
Russell Bryant 2f0f1f5e00 Revert revision 62417 as someone reported problems with it to Mark. This was
18 years ago
Christian Richter 0b6da8d56e we stop the tones only when we're in the pre-call phase, otherwise e.g. when in CONNECTED state we should not stop tones when we receive an Information Message
18 years ago
Olle Johansson 86882515a8 Not getting an ACK to a 200 OK in the initial invite is critical to the call.
18 years ago
Olle Johansson 21ea4dc3f1 Issue 9235 - part of the problem, maybe not all. Please retry with this patch (and no
18 years ago
Christian Richter 58bcd919d5 fixed a warning regarding Keypad encoding. encode the IE sending_complete at the right position.
18 years ago
Christian Richter 06b2955d26 we *need* to send a PROCEEDING when sending_complete is set, even if need_more_infos is requested.
18 years ago
Olle Johansson 9ebfde54a1 Fixing possible bug in auth of BYE
18 years ago
Olle Johansson 80e4abca3d Support SIP uri's starting with SIP: and sip: (reported by Tony Mountfield on the mailing list. Thanks!)
18 years ago
Olle Johansson aa9ff74af5 Issue #9726 - rlister - Better logging for ACL denials
18 years ago
Christian Richter b60fd4bc20 in the case immediate=yes, we directly jump into the dialplan, where people can use PlayTones to indicate a Dialtone, so we don't need to to that by ourself. also we should not do a dialtone_indicate for incoming calls on a TE port in overlapdialmode.
18 years ago
Jason Parker 074cc21291 Fix an issue with trying to kill a thread before it gets created.
18 years ago
Olle Johansson 07ba0e379b Do not allocate SIP pvt's for PEERs we can not reach.
18 years ago
Matthew Fredrickson 818c25352e Make sure we only create a DSP if it's requested on SUB_REAL
18 years ago
Joshua Colp 7dc491d090 Properly handle hints that point to multiple devices in chan_sip. Why chan_sip is even doing this I have no idea but I would rather not go into a rant. (issue #9536 reported by rlister)
18 years ago
Christian Richter fcad34fd9f release_chan frees ch, so we should never touch ch after release_chan, this may cause segfaults.
18 years ago
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.
18 years ago
Joshua Colp 3a218f3a09 When a peer is seeded or built tell the devicestate core to update it's status. This is easier then having chan_sip load before pbx_config. (issue #9658 reported by dlynes)
18 years ago
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.
18 years ago
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.
18 years ago