Commit Graph

65 Commits

Author SHA1 Message Date
Richard Mudgett e950086daf Multiple revisions 375519-375524
........
  r375519 | rmudgett | 2012-10-30 16:06:15 -0500 (Tue, 30 Oct 2012) | 11 lines

  chan_misdn: Timer primitives must be handled first.

  The frm->addr is a different "address space" than the stack/instance
  address of other Lx primitives.  The test for B channel instance address
  could fail.

  Patches:
	patch01_timers.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375520 | rmudgett | 2012-10-30 16:14:58 -0500 (Tue, 30 Oct 2012) | 10 lines

  chan_misdn: Free memory in error paths and other memory leaks.

  The one line commented with BUG is not easily fixable because there is no
  de-init function one can call.

  Patches:
	patch02_memory.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375521 | rmudgett | 2012-10-30 16:38:41 -0500 (Tue, 30 Oct 2012) | 14 lines

  chan_misdn: ISDN NT L2 de-establish/establish

  * An NT-PTMP cannot de/establish L2 since it doesn't know the TEIs.
  * On NT-PTP L2 is started when L1 is finally active in handle_l1.
  * L2 deactivation logging cleanup.
  * L2 aggregate link status is unknown for NT-PTMP, show as "UNKN".
  * Removed unused functions and code for L2 handling.

  Patches:
	patch03_L2estab.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified

  JIRA ABE-2888

  ........
  r375522 | rmudgett | 2012-10-30 16:56:14 -0500 (Tue, 30 Oct 2012) | 22 lines

  chan_misdn: Fix broken upper_id/lower_id usage.

  Sending PH prim via lower_id layer (3 or 1) simply does not work.  For TE
  (3) it returns an error (len=-6) which is not evaluated by handle_l1(), so
  the L1 layer status ends up wrong.  Instead PH must be sent via L4, only
  then does it reach L1 without an error message.

  And NT PH prims only reach L1 when they are sent to layer 2 id.
  --> use upper_id to send PH primitives.

  * Check for errors in PH_(DE)ACTIVATE | CONFIRM.
  * Debug messages are improved.

  * The lower_id is now not used for anything, except: Why is lower_id layer
  deleted when it wasn't created?  I removed this code since it looks very
  wrong.

  Patches:
	patch04_l1activation.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2888

  ........
  r375523 | rmudgett | 2012-10-30 17:29:15 -0500 (Tue, 30 Oct 2012) | 31 lines

  chan_misdn: Fix loss of B channels if L1 is down.

  If you make 2 calls out an NT PTMP port which is not connected to any
  phone, the B channel associated with that call becomes unusable until
  Asterisk is restarted.

  The problem is the EVENT_SETUP is queued when L1 is not up in
  misdn_lib_send_event().  If L1 cannot be activated the event won't be
  dequeued.  It gets even worse when the call is hung up.  The queued
  EVENT_SETUP will be overwritten by an EVENT_DISCONNECT.  The reserved B
  channel then will never be freed.  If later someone connects a phone to
  the port, L1 will eventually activate and the queued EVENT_DISCONNECT is
  sent down the stack.  However, it is ignored because it is the wrong call
  state.

  The real fix would be that activation and queueing for a new SETUP is done
  by the NT stack.  But since it doesn't, the workaround must be removed
  because it doesn't always work.

  Fix: The event is no longer queued but immediately sent to the stack.  If
  L1 cannot be activated, the L3 state machine that was started by the
  EVENT_SETUP will do its work, i.e.  a timeout will release the B channel
  properly.  The SETUP possibly cannot be sent the first time but is resent
  by T303 in case L1 could be activated.

  Patches:
	patch05_bchan-loss.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified

  JIRA ABE-2888

........
  r375524 | rmudgett | 2012-10-30 18:26:05 -0500 (Tue, 30 Oct 2012) | 13 lines

  chan_misdn: Remove some calls to exit().

  Try proper cleanup when something goes wrong in misdn_lib_init().
  Especially do not call exit()!

  * Fix memory leak because stack_destroy() does not free the stack struct.

  Patches:
	patch06_cleanup-init.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified

  JIRA ABE-2888
........

Merged revisions 375519-375524 from https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
........

Merged revisions 375625 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 375626 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 375627 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375628 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-11-02 18:46:58 +00:00
Richard Mudgett 79baef5bbd Merged revisions 374515-374535 from
https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier

................
  r374515 | rmudgett | 2012-10-04 17:52:36 -0500 (Thu, 04 Oct 2012) | 10 lines

  chan_misdn: Remove some deadcode

  * Made setup_bc() static.

  Patches:
	patch1_unused-code.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified

  JIRA ABE-2882

................
  r374516 | rmudgett | 2012-10-04 18:01:01 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused bchan states

  Patches:
	patch2_unused-states.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374517 | rmudgett | 2012-10-04 18:17:51 -0500 (Thu, 04 Oct 2012) | 16 lines

  chan_misdn: Remove unnecessary null pointer checks and checks for stack->nt

  * cleanup_bc() is always called with valid bc (or it would've crashed
  before).

  * Value of stack->nt is known in advance at some places.

  * Rename handle_event() to handle_event_te(), handle_frm() to
  handle_frm_te().

  Patches:
	patch3_checks.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified

  JIRA ABE-2882

................
  r374518 | rmudgett | 2012-10-04 18:21:59 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Fix spelling in log messages

  Patches:
	patch4_spelling.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374519 | rmudgett | 2012-10-04 18:31:59 -0500 (Thu, 04 Oct 2012) | 15 lines

  chan_misdn: Don't cleanup a bc twice.

  In handle_frm_te() after calling misdn_lib_send_event(bc,
  EVENT_RELEASE_COMPLETE) bc is emptied, cleaned and set not in use,
  although misdn_lib_send_event() already did the same.  This is bad.  When
  it's not in use we are not allowed to touch it.

  * Moved log message in front of the resulting actions and fixed it to
  match the case.

  Patches:
	patch5_bccleanup.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374520 | rmudgett | 2012-10-04 18:43:56 -0500 (Thu, 04 Oct 2012) | 12 lines

  chan_misdn: Fix memory leaks, bc, chan not cleaned up etc., really bad stuff.

  * Fix return codes of cb_events() for EVENT_SETUP to use caller's cleanup
  mechanisms.

  * Move cl_queue_chan() call after bearer check.

  Patches:
	patch6_leaks.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374521 | rmudgett | 2012-10-04 18:48:38 -0500 (Thu, 04 Oct 2012) | 11 lines

  chan_misdn: We must initialize cause on sending a DISCONNECT.

  We must initialize cause on sending a DISCONNECT, so it is later correctly
  indicated to ast_channel in case the answer (RELEASE/RELEASE_COMPLETE)
  does not include one.

  Patches:
	patch7_hangupcause.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374522 | rmudgett | 2012-10-04 19:03:56 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Remove unused code for upqueue

  Patches:
	patch8_unused-upqueue.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374523 | rmudgett | 2012-10-04 19:11:50 -0500 (Thu, 04 Oct 2012) | 7 lines

  chan_misdn: Improve debugging (port number, messages fixed, dups removed)

  Patches:
	patch9_debug.diff (license #6372) patch uploaded by Guenther Kelleter

  JIRA ABE-2882

................
  r374533 | rmudgett | 2012-10-05 12:17:18 -0500 (Fri, 05 Oct 2012) | 8 lines

  chan_misdn: Better debug: we can print_bc_info even if there's no ast leg.

  Patches:
	patch10_debug-bc-2.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified.

  JIRA ABE-2882

................
  r374534 | rmudgett | 2012-10-05 12:34:10 -0500 (Fri, 05 Oct 2012) | 16 lines

  chan_misdn: setup_bc() is called too early for an incoming SETUP on TE.

  This prevents the B channel from being setup for HDLC mode when requested
  by the bearer capability and config option hdlc=yes.  It violates
  ETS300102 Ch.5.2.3.2: "The user, in any case, must not connect to the
  channel until a CONNECT ACKNOWLEDGE message has been received."

  * Call setup_bc() on receipt of CONNECT_ACKNOWLEGDE for PTMP, and on first
  response to SETUP for PTP.

  Patches:
	abe-2881-2.diff (license #6372) patch uploaded by Guenther Kelleter
	Modified.

  JIRA ABE-2881

................
  r374535 | rmudgett | 2012-10-05 12:41:05 -0500 (Fri, 05 Oct 2012) | 2 lines

  chan_misdn: Remove some more deadcode.

................
........

Merged revisions 374536 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 374537 from http://svn.asterisk.org/svn/asterisk/branches/10
........

Merged revisions 374538 from http://svn.asterisk.org/svn/asterisk/branches/11


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-05 18:42:14 +00:00
Mark Michelson b5d5cc565f Enhancements to connected line and redirecting work.
From reviewboard:

Digium has a commercial customer who has made extensive use of the connected party and
redirecting information present in later versions of Asterisk Business Edition and which
is to be in the upcoming 1.8 release. Through their use of the feature, new problems and solutions
have come about. This patch adds several enhancements to maximize usage of the connected party
and redirecting information functionality.

First, Asterisk trunk already had connected line interception macros. These macros allow you to
manipulate connected line information before it was sent out to its target. This patch adds the
same feature except for redirecting information instead.

Second, the ast_callerid and ast_party_id structures have been enhanced to provide a "tag." This
tag can be set with func_callerid, func_connectedline, func_redirecting, and in the case of DAHDI,
mISDN, and SIP channels, can be set in a configuration file. The idea behind the callerid tag is
that it can be set to whatever value the administrator likes. Later, when running connected line
and redirecting macros, the admin can read the tag off the appropriate structure to determine what
action to take. You can think of this sort of like a channel variable, except that instead of having
the variable associated with a channel, the variable is associated with a specific identity within
Asterisk.

Third, app_dial has two new options, s and u. The s option lets a dialplan writer force a specific
caller ID tag to be placed on the outgoing channel. The u option allows the dialplan writer to force
a specific calling presentation value on the outgoing channel.

Fourth, there is a new control frame subclass called AST_CONTROL_READ_ACTION added. This was added
to correct a very specific situation. In the case of SIP semi-attended (blond) transfers, the party
being transferred would not have the opportunity to run a connected line interception macro to
possibly alter the transfer target's connected line information. The issue here was that during a
blond transfer, the SIP transfer code has no bridged channel on which to queue the connected line
update. The way this was corrected was to add this new control frame subclass. Now, we queue an
AST_CONTROL_READ_ACTION frame on the channel on which the connected line interception macro should
be run. When ast_read is called to read the frame, ast_read responds by calling a callback function
associated with the specific read action the control frame describes. In this case, the action taken
is to run the connected line interception macro on the transferee's channel.

Review: https://reviewboard.asterisk.org/r/652/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@263541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-05-17 15:36:31 +00:00
Richard Mudgett 58b440bc29 Merged revisions 206487 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r206487 | rmudgett | 2009-07-14 11:44:47 -0500 (Tue, 14 Jul 2009) | 28 lines
  
  Fixes several call transfer issues with chan_misdn.
  
  *  issue #14355 - Crash if attempt to transfer a call to an application.
  Masquerade the other pair of the four asterisk channels involved in the
  two calls.  The held call already must be a bridged call (not an
  applicaton) or it would have been rejected.
  
  *  issue #14692 - Held calls are not automatically cleared after transfer.
  Allow the core to initate disconnect of held calls to the ISDN port.  This
  also fixes a similar case where the party on hold hangs up before being
  transferred or taken off hold.
  
  *  JIRA ABE-1903 - Orphaned held calls left in music-on-hold.
  Do not simply block passing the hangup event on held calls to asterisk
  core.
  
  *  Fixed to allow held calls to be transferred to ringing calls.
  Previously, held calls could only be transferred to connected calls.
  *  Eliminated unused call states to simplify hangup code.
  *  Eliminated most uses of "holded" because it is not a word.
  
  (closes issue #14355)
  (closes issue #14692)
  Reported by: sodom
  Patches:
        misdn_xfer_v14_r205839.patch uploaded by rmudgett (license 664)
  Tested by: rmudgett
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@206489 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-14 17:01:48 +00:00
Richard Mudgett 7872538b83 Add outgoing_colp misdn.conf port parameter.
Select what to do with outgoing COLP information on this port.
0 - Send out COLP information unaltered. (default)
1 - Force COLP to restricted on all outgoing COLP information.
2 - Do not send COLP information.
outgoing_colp=0

Also fixed sending the EctInform message so it always has the
required redirectionNumber parameter when the status is active.

JIRA ABE-1853


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@194479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-14 22:03:49 +00:00
Richard Mudgett 89d06c7759 Make PTP DivertingLegInformation3 message behavior closer to the specifications.
*  Wait for a DivertingLegInformation3 message after receiving a
DivertingLegInformation1 message to complete the redirecting-to information
before queuing a redirecting update to the other channel.

*  A DivertingLegInformation2 message should be responded to with a
DivertingLegInformation3 when the COLR is determined.  If the call
could or does experience another redirection, you should manually
determine the COLR to send to the switch by setting REDIRECTING(to-pres)
to the COLR and setting REDIRECTING(to-num) = ${EXTEN}.

*  A DivertingLegInformation2 message must have an original called number
if the redirection count is greater than one.  Since Asterisk does
not keep track of this information, we can only indicate that the
number is not available due to interworking.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@190735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-27 20:03:49 +00:00
Richard Mudgett 6bb2b6c096 Added CCBS/CCNR Party A support and enhanced COLP support.
This change adds the following features to chan_misdn:
* CCBS/CCNR Party A support for PTMP and PTP modes.
* Enhances COLP support for call diversion and explicit call transfer.

These enhanced features require a modified version of mISDN.

The latest modified mISDN v1.1.x based version is available at:
http://svn.digium.com/svn/thirdparty/mISDN/trunk
http://svn.digium.com/svn/thirdparty/mISDNuser/trunk

Taged versions of the modified mISDN code are available under:
http://svn.digium.com/svn/thirdparty/mISDN/tags
http://svn.digium.com/svn/thirdparty/mISDNuser/tags

Review: http://reviewboard.digium.com/r/218/

Merged from team/rmudgett/misdn_facility branch.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@189735 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-21 17:44:01 +00:00
Richard Mudgett b0cfe6e1f2 Miscellaneous minor changes to chan_misdn.
* Miscellaneous spacing and comment changes.
* Minor code rearangements.
* Miscellaneous doxygen comments.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 14:53:59 +00:00
Mark Michelson 6f53ed4c67 This commit introduces COLP/CONP and Redirecting party information into Asterisk.
The channel drivers which have been most heavily tested with these enhancements are
chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
introduced in a later commit. chan_skinny has code added to it here, but according
to user pj, the support on chan_skinny is not working as of now. This will be fixed in
a later commit.

A special thanks goes out to bugtracker user gareth for getting the ball rolling and
providing the initial support for this work. Without his initial work on this, this would
not have been nearly as painless as it was.

This functionality has been tested by Digium's product quality department, as well as a
customer site running thousands of calls every day. In addition, many many many many bugtracker
users have tested this, too.

(closes issue #8824)
Reported by: gareth

Review: http://reviewboard.digium.com/r/201



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 22:41:46 +00:00
Kevin P. Fleming 10d36d9f34 fix a few small things found by using sparse
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@152809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-30 16:49:02 +00:00
Richard Mudgett e3311c9875 * Miscellaneous formatting changes to make v1.4 and trunk
more merge compatible in the mISDN area.

channels/chan_misdn.c
*  Eliminated redundant code in cb_events() EVENT_SETUP



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@145200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-30 21:00:54 +00:00
Richard Mudgett 1678a005b6 channels/chan_misdn.c
*  Made bearer2str() use allowed_bearers_array[]
*  Made use the causes.h defines instead of hardcoded numbers.
*  Made use Asterisk presentation indicator values if either of the
mISDN presentation or screen options are negative.
*  Updated the misdn_set_opt application option descriptions.
*  Renamed the awkward Caller ID presentation misdn_set_opt
application option value not_screened to restricted.
Deprecated the not_screened option value.

channels/misdn/isdn_lib.c
*  Made use the causes.h defines instead of hardcoded numbers.
*  Fixed some spelling errors and typos.
*  Added all defined facility code strings to fac2str().

channels/misdn/isdn_lib.h
*  Added doxygen comments to struct misdn_bchannel.

channels/misdn/isdn_lib_intern.h
*  Added doxygen comments to struct misdn_stack.

channels/misdn_config.c
configs/misdn.conf.sample
*  Updated the mISDN presentation and screen parameter descriptions.

doc/tex/misdn.tex
*  Updated the misdn_set_opt application option descriptions.
*  Fixed some spelling errors and typos.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138738 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-18 21:07:28 +00:00
Christian Richter c47a3f89eb Merged revisions 119585 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r119585 | crichter | 2008-06-02 10:35:28 +0200 (Mo, 02 Jun 2008) | 1 line

Added counter for unhandled_bmsg Print, this prevents the logs to be flooded to fast and save CPU in this error scenario. Added 'last_used' element to bc structure, when a bchannel changes from used to free this exact time will be marked in last_used. When a new channel is requested the find_free_chan function will check if the new empty channel was used within the last second, if yes it will search for the next channel, if no it will return this channel. This simple mechanism has prooven to prevent race conditions where the NT and TE tried to allocate the exact same channel at the same time (RELEASE cause: 44).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@119586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-02 08:46:23 +00:00
Kevin P. Fleming 3a8268bc29 fix up various warnings found via the addition of format string checking... some of these were really, really bad code
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@109475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-03-18 16:23:05 +00:00
Jason Parker 72bc8a7c7d Fix up some doxygen issues.
(closes issue #11996)
Patches:
      bug_11996_doxygen.diff uploaded by snuffy (license 35)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@103723 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-02-15 17:29:08 +00:00
Olle Johansson c76f72493a Doxygen updates, formatting.
misdn stuff needs a lot of doxygenification

(Hello, Qwell :-) )


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@92423 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-12-11 22:20:22 +00:00
Christian Richter c9b8afb447 Merged revisions 89169 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r89169 | crichter | 2007-11-12 10:45:36 +0100 (Mo, 12 Nov 2007) | 1 line

aded ntkeepcalls option, to avoid droÃpping calls when the L2 goes down on a PTP link. There are some pbx which do turn off the L1 for a very short while and restart it immediately. normally T310 should be started and after 10 seconds or so the calls should be dropped, this is a simple fix wihtout this timer.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@89174 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-11-12 12:49:19 +00:00
Christian Richter 210f86f1f3 started to add some basic support for supplementary services like CallForwarding and so forth
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@86616 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-10-22 10:04:04 +00:00
Christian Richter efea29fde8 Merged revisions 72851 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r72851 | crichter | 2007-07-02 10:27:19 +0200 (Mo, 02 Jul 2007) | 9 lines

Merged revisions 72099 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72099 | crichter | 2007-06-27 15:22:37 +0200 (Mi, 27 Jun 2007) | 1 line

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/trunk@72868 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 09:23:08 +00:00
Christian Richter 6606e374be Merged revisions 72850 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r72850 | crichter | 2007-07-02 10:14:43 +0200 (Mo, 02 Jul 2007) | 9 lines

Merged revisions 72087 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r72087 | crichter | 2007-06-27 11:26:53 +0200 (Mi, 27 Jun 2007) | 1 line

simplified channel finding and locking a lot. removed unnecessary #ifdefed areas.
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@72867 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-02 09:17:07 +00:00
Christian Richter 1e6b6d2df5 Merged revisions 71214 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r71214 | crichter | 2007-06-23 00:44:42 +0200 (Sa, 23 Jun 2007) | 9 lines

Merged revisions 70341 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r70341 | crichter | 2007-06-20 17:29:09 +0200 (Mi, 20 Jun 2007) | 1 line

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/trunk@71500 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-25 09:46:18 +00:00
Christian Richter 829f58b228 Merged revisions 71121 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r71121 | crichter | 2007-06-22 17:32:54 +0200 (Fr, 22 Jun 2007) | 9 lines

Merged revisions 70311 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r70311 | crichter | 2007-06-20 16:47:59 +0200 (Mi, 20 Jun 2007) | 1 line

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/trunk@71497 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-25 09:37:49 +00:00
Christian Richter cb42eae091 Merged revisions 68644 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r68644 | crichter | 2007-06-11 12:29:18 +0200 (Mo, 11 Jun 2007) | 9 lines

Merged revisions 68631 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r68631 | crichter | 2007-06-11 11:18:01 +0200 (Mo, 11 Jun 2007) | 1 line

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/trunk@68661 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-06-11 11:40:21 +00:00
Christian Richter 0f39ea1a98 Merged revisions 62912 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r62912 | crichter | 2007-05-03 16:36:32 +0200 (Do, 03 Mai 2007) | 17 lines

Merged revisions 61357,61770,62885 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r61357 | crichter | 2007-04-11 14:05:57 +0200 (Mi, 11 Apr 2007) | 1 line

some fixes for PMP Hold/Retrieve, it should work now, when briding=no
........
r61770 | crichter | 2007-04-24 15:50:05 +0200 (Di, 24 Apr 2007) | 1 line

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.
........
r62885 | crichter | 2007-05-03 15:59:00 +0200 (Do, 03 Mai 2007) | 1 line

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/trunk@64955 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 09:50:33 +00:00
Christian Richter e6cad524f8 Merged revisions 59064 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r59064 | crichter | 2007-03-20 14:16:06 +0100 (Di, 20 Mär 2007) | 21 lines

Merged revisions 58849-58850,59062-59063 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r58849 | crichter | 2007-03-13 12:58:16 +0100 (Di, 13 Mär 2007) | 1 line

added method standard_dec for dialing out on groups, to avoid conflicts, which caused issues with some ISDN providers
........
r58850 | crichter | 2007-03-13 13:58:32 +0100 (Di, 13 Mär 2007) | 1 line

fixed the crypt_keys stuff
........
r59062 | crichter | 2007-03-20 10:18:06 +0100 (Di, 20 Mär 2007) | 1 line

avoid sending a disconnect when we already received one.
........
r59063 | crichter | 2007-03-20 10:23:22 +0100 (Di, 20 Mär 2007) | 1 line

modified a loglevel
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 09:36:16 +00:00
Christian Richter ecfbebafe9 Merged revisions 58825-58826 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r58825 | crichter | 2007-03-12 13:43:24 +0100 (Mo, 12 Mär 2007) | 1 line

added UU transceiving and corect handling for rdnis
................
r58826 | crichter | 2007-03-12 14:08:06 +0100 (Mo, 12 Mär 2007) | 21 lines

Merged revisions 57034,57523,57753,58558 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r57034 | crichter | 2007-02-28 17:09:27 +0100 (Mi, 28 Feb 2007) | 1 line

fixed bugs.digium.com bugs: #9157 and bugs.beronet.com bugs: #302, #303, #304
........
r57523 | crichter | 2007-03-02 19:32:51 +0100 (Fr, 02 Mar 2007) | 1 line

fixed typo
........
r57753 | crichter | 2007-03-04 11:39:50 +0100 (So, 04 Mar 2007) | 1 line

fixed another place where the out_cause was hardcoded to 16
........
r58558 | crichter | 2007-03-09 15:43:58 +0100 (Fr, 09 Mar 2007) | 1 line

we can free channel 31 as well, since we can occupy it
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@64951 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-05-18 09:31:27 +00:00
Nadi Sarrar 9978dc647b Merged revisions 61342,61372-61373,61443 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r61342 | nadi | 2007-04-11 12:52:28 +0200 (Mi, 11 Apr 2007) | 2 lines

AOCD's are now exported to asterisk channel variables.

........
r61372 | nadi | 2007-04-11 15:33:30 +0200 (Mi, 11 Apr 2007) | 2 lines

Ignore facility messages in case we don't have a corresponding channel object.

........
r61373 | nadi | 2007-04-11 15:40:26 +0200 (Mi, 11 Apr 2007) | 2 lines

Export AOCD variables on misdn_hangup.

........
r61443 | nadi | 2007-04-11 17:39:14 +0200 (Mi, 11 Apr 2007) | 2 lines

Don't export AOCD variables on misdn_hangup anymore, this was mainly a fix for trunk..

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@61460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-04-11 15:48:54 +00:00
Nadi Sarrar 24d8595d00 Merged revisions 59202 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r59202 | nadi | 2007-03-26 17:25:53 +0200 (Mo, 26 Mär 2007) | 4 lines

* mISDN >= 1.2 provides a dsp pipeline for i.e. echo cancellation modules, make chan_misdn use it.
* add a check for linux/mISDNdsp.h to configure.ac and update the autogenerated files: 'configure', 'autoconfig.h.in'
  (the 'configure' script was not in sync with the latest configure.ac, so the diff is a bit bigger than expected).

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@59203 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-03-26 15:59:56 +00:00
Christian Richter 1fe0e3d192 Merged revisions 49313 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r49313 | crichter | 2007-01-03 10:06:50 +0100 (Mi, 03 Jan 2007) | 41 lines

Merged revisions 48319,48321,48467,48552,48576,49135,49303 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r48319 | crichter | 2006-12-06 15:35:25 +0100 (Mi, 06 Dez 2006) | 1 line

changed a few debugs to higher debug levels
........
r48321 | crichter | 2006-12-06 16:48:45 +0100 (Mi, 06 Dez 2006) | 1 line

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.
........
r48467 | crichter | 2006-12-14 14:03:49 +0100 (Do, 14 Dez 2006) | 1 line

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.
........
r48552 | crichter | 2006-12-18 11:19:39 +0100 (Mo, 18 Dez 2006) | 1 line

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.
........
r48576 | crichter | 2006-12-19 14:08:51 +0100 (Di, 19 Dez 2006) | 1 line

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
........
r49135 | crichter | 2007-01-02 11:07:22 +0100 (Di, 02 Jan 2007) | 1 line

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. 
........
r49303 | crichter | 2007-01-03 09:24:00 +0100 (Mi, 03 Jan 2007) | 9 lines

* 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/trunk@49321 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-01-03 11:15:02 +00:00
Christian Richter f19300635f Merged revisions 46351-46353 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r46351 | crichter | 2006-10-27 11:49:20 +0200 (Fr, 27 Okt 2006) | 9 lines

Merged revisions 46176 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r46176 | crichter | 2006-10-25 10:41:59 +0200 (Mi, 25 Okt 2006) | 1 line

added nttimeout option to configure wether we disconnect calls on NT timeouts or not during an overlapdial session
........

................
r46352 | crichter | 2006-10-27 11:58:44 +0200 (Fr, 27 Okt 2006) | 1 line

fixed not compile issue, which was just introduced
................
r46353 | crichter | 2006-10-27 12:03:23 +0200 (Fr, 27 Okt 2006) | 9 lines

Merged revisions 46350 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r46350 | crichter | 2006-10-27 11:24:01 +0200 (Fr, 27 Okt 2006) | 1 line

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/trunk@46354 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-27 11:18:32 +00:00
Christian Richter e09ad744af Merged revisions 44561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r44561 | crichter | 2006-10-06 14:50:25 +0200 (Fr, 06 Okt 2006) | 9 lines

Merged revisions 44334 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r44334 | crichter | 2006-10-04 17:13:58 +0200 (Mi, 04 Okt 2006) | 1 line

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/trunk@44841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-11 08:34:03 +00:00
Christian Richter 05c4624d9b Merged revisions 44559 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r44559 | crichter | 2006-10-06 12:44:34 +0200 (Fr, 06 Okt 2006) | 9 lines

Merged revisions 44149 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r44149 | crichter | 2006-10-02 15:28:14 +0200 (Mo, 02 Okt 2006) | 1 line

fixed the hold/retrieve/transfer issues, removed a useless bc field, added setting of frame.delivery fields, some minor code cleanups
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@44840 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-10-11 08:23:16 +00:00
Christian Richter 6001354638 Merged revisions 43852 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r43852 | crichter | 2006-09-28 13:03:05 +0200 (Do, 28 Sep 2006) | 9 lines

Merged revisions 43764 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r43764 | crichter | 2006-09-27 14:51:03 +0200 (Mi, 27 Sep 2006) | 1 line

fixed a bug which led to chan_list zombies, when the call could not be properly established in misdn_call. also removed the ACK_HDLC stuff which is not really needed.
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@43855 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-09-28 11:32:32 +00:00
Kevin P. Fleming 0a27d8bfe5 merge new_loader_completion branch, including (at least):
- restructured build tree and makefiles to eliminate recursion problems
  - support for embedded modules
  - support for static builds
  - simpler cross-compilation support
  - simpler module/loader interface (no exported symbols)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@40722 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-21 02:11:39 +00:00
Nadi Sarrar 864c934f53 adding support for AOCD facility messages.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39987 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-16 13:19:54 +00:00
Nadi Sarrar 0b579cf152 moved the asn1 and facility portions of code to mISDNuser, so removing the files here.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-15 16:49:26 +00:00
Nadi Sarrar 162e37b2d6 fixing compile warnings, renaming config option "overlap_dial" to "overlapdial"
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-09 09:24:21 +00:00
Nadi Sarrar 958f3726f1 * first bits of decoding facility information elements
* fail on misdn_cfg_init() if elements in the config enum don't match with the config structs in misdn_config.c
* implemented first bits for encoding ISDN facility information elements via ASN.1 descriptions
* using unnamed semaphore for syncing in misdn_thread
* advanced fax detection: configurable detect timeout and context to jump into



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39378 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 18:13:40 +00:00
Christian Richter 52e1395690 * added possibility to change echocancel settings during calls
* removed the holded element from the chan_list struct, we know this from the 
  state already
* added a few tweaks to make HOLD/RETRIEVE work again (TRANSFER does not work
  yet)
* added possibility to debug mISDN frames via syslog
* added misdn_lib_port_is_blocked function to check if a port is blocked
* removed ec_training=1 from empty_bc, we don't use ec_training anymore
* removed unused misdn_lib_get_l2_status function
* added the nt bit to dummy misdn_bchannel objects
* setting bc->out_fac_type to FACILITY_NONE defaultly
* removed HANDLER_DEBUG stuff for better readability



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-08 09:19:06 +00:00
Christian Richter f2178d336b changed naming of mISDN channels, so that hinting works proper
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@39131 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-07 09:09:17 +00:00
Christian Richter fc3d27cf6f * removed pp_l2_check (fixed L2 bug in mISDNuser)
* added blocking flag to stack object. A port can be blocked/unblocked from the
  cli
* added EVENT_PORT_ALARM to send alarm infos to the chan_misdn.c layer (later	
  we can add a manager event for that)
* added block_on_alarm option, to block the port whenever a ALARM occurs
* added need_busy flag to indicate if we've sended a CONTROL_BUSY already
* changed a bunch of cb_log(-1,..) to cb_log(0,..) due to funny behaviour in 
  recent asterisk ast_log messages..
* fixed a few ETSI state violations, especially when finishing calls in 
  different seldom states
* changed debug levels a lot to make the log more readable in low debuglevels
* some first fixes for the HOLD/RETRIEVE stuff (doesn't work totally still)
* removed the PRECONNECTED state stuff
* added cause 27 when we get a CLEANUP directly after a outgoing SETUP, this
  creates a CHANISUNAVAIL instead of a NOANSWER
* removed the addr pointer from "misdn show stacks" that's not needed anymore 
  and makes the output more unreadable
* added cause saving on RELEASE/RELEASE_COMPLETE
* set cause to 16 on prepare_bc
* removed stack getting from ph_control functions, we don't really need it 
  there
* added beroec api



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@38801 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-08-03 16:38:00 +00:00
Christian Richter 94274cc26b * Introducing a new way for the l1watcher thread using the ast_sched way. Now l1watcher timeouts can be configured separately for every portgroup.
* added a signal handler to allow waking up the misdn task thread (that may sleep in a poll call) via misdn_tasks_wakeup().
* overlap_dial functionality implemented.
* fixes a bug which leads to a segfault after reordering config elements in the enum or struct



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-11 19:30:35 +00:00
Christian Richter bd0b801a0d * removed tone_indicate, we genrate only the dialtone by ourself (and the hanguptone of course)
* removed the state handling from release_chan, and simplified the ast_hangup/ast_queue_hangup stuff
* added pp_l2_check option, for pp lines where the pbx does not initially gets the L2 up
* simplified and fixed a bug in the pid generation code 
* fixed a bug in empty_chan, which might cause segfaults and memorry corruptions
* added prepare_bc function, which is sort of the opposite of empty_bc



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@37172 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-07-06 15:11:40 +00:00
Christian Richter 4bdeb383e7 added fix, that if the L2 goes down on ptp-NT that we reinitialize the NT Library. Also if we have no ntflags, we don't pass the filename to the debug routines of mISDNuser.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36376 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-30 14:05:42 +00:00
Christian Richter f5c0cd2ddc added better L2 handling for ptp, if it's down we don't try to call on that port in groupdial anymore, also we try to get it up then. Additionally added the configoptions ntdebugflags and ntdebugfile to debug the mISDNuser NT Stack (should have done that ages before..). isdn_lib.c compiles again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-29 20:12:19 +00:00
Christian Richter baad1c266c * fixed the busy state
* fixed tone handling after ast_hangup was called
* optimized the tone_indication function
* removed warnings in favour of log debugs
* improved the round_robin method
* added logs for channel setting/emptying
* fixed channel forgot to set bug





git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@36082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-26 17:37:11 +00:00
Christian Richter 829583a3dc added TONE_HANGUP, also added Tone generation by mISDN_dsp for post hangup tones, therefore the TONE_X defines are in the isdn_lib.h now. changed a REALEASE to a DISCONNECT in NT Stack, to make tones available in that state.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34604 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-18 19:09:32 +00:00
Christian Richter d86993b90b * fixed bchannel cleaning race condition with new bchannel state (CLEAN_REQUEST)
* added early bridge-hook, so we know if we need to generate ringing or 
  can take it from the far end chan_misdn channel (if available)
* fixed the issue, that we may not activate the bchannel on PTMP, 
  when we receive ALERTING/PROCEEDING/PROGRESS, only on CONNECT. There might
  be other PTMP devices and we might disturb their bchannel. 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@34552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-17 10:37:35 +00:00
Christian Richter 4ad840b3c6 the interface needs to be changed as well..
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31411 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01 16:41:07 +00:00
Christian Richter 4be235a974 added bearer capability reject support. we send release instead of disconnect in case we have no real channel yet. added support for Restarting channels added support for sending complete decoding. changed some log levels.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@31324 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2006-06-01 12:51:41 +00:00