Commit Graph

317 Commits

Author SHA1 Message Date
Tilghman Lesher
56cd7709a5 Merged revisions 309251 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r309251 | tilghman | 2011-03-01 19:06:02 -0600 (Tue, 01 Mar 2011) | 7 lines
  
  Revert previous 2 commits, and instead conditionally redefine the same macro used in flex 2.5.35 that clashed with our workaround.
  
  Not surprisingly, the workaround was exactly the same code as was provided by
  the Flex maintainers, albeit in two different places, in different macros.
  
  This should fix the FreeBSD builds, which have an older version of Flex.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309808 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-07 00:54:42 +00:00
Moises Silva
3770b4d7cb Fix caller id passed to openr2_chan_make_call
(closes issue #18894)
Reported by: malufrj
Tested by: moy


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309720 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-05 17:44:30 +00:00
Richard Mudgett
5b9f9f78ca Get real channel of a DAHDI call.
Starting with Asterisk v1.8, the DAHDI channel name format was changed for
ISDN calls to: DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>

There were several reasons that the channel name had to change.

1) Call completion requires a device state for ISDN phones.  The generic
device state uses the channel name.

2) Calls do not necessarily have B channels.  Calls placed on hold by an
ISDN phone do not have B channels.

3) The B channel a call initially requests may not be the B channel the
call ultimately uses.  Changes to the internal implementation of the
Asterisk master channel list caused deadlock problems for chan_dahdi if it
needed to change the channel name.  Chan_dahdi no longer changes the
channel name.

4) DTMF attended transfers now work with ISDN phones because the channel
name is "dialable" like the chan_sip channel names.

For various reasons, some people need to know which B channel a DAHDI call
is using.

* Added CHANNEL(dahdi_span), CHANNEL(dahdi_channel), and
CHANNEL(dahdi_type) so the dialplan can determine the B channel currently
in use by the channel.  Use CHANNEL(no_media_path) to determine if the
channel even has a B channel.

* Added AMI event DAHDIChannel to associate a DAHDI channel with an
Asterisk channel so AMI applications can passively determine the B channel
currently in use.  Calls with "no-media" as the DAHDIChannel do not have
an associated B channel.  No-media calls are either on hold or
call-waiting.

(closes issue #17683)
Reported by: mrwho
Tested by: rmudgett

(closes issue #18603)
Reported by: arjankroon
Patches:
      issue17683_18603_v1.8_v2.patch uploaded by rmudgett (license 664)
Tested by: stever28, rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@309445 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-03-04 15:22:04 +00:00
Richard Mudgett
a5f6367057 No response sent for SIP CC subscribe/resubscribe request.
Asterisk does not send a response if we try to subscribe for call
completion after we have received a 180 Ringing.  You can only subscribe
for call completion when the call has been cleared.

When we receive the 180 Ringing, for this call, its call-completion state
is 'CC_AVAILABLE'.  If we then send a subscribe message to Asterisk, it
trys to change the call-completion state to 'CC_CALLER_REQUESTED'.
Because this is an invalid state change, it just ignores the message.  The
only state Asterisk will accept our subscribe message is in the
'CC_CALLER_OFFERED' state.

Asterisk will go into the 'CC_CALLER_OFFERED' when the SIP client clears
the call by sending a CANCEL.

Asterisk should always send a response.  Even if its a negative one.


The fix is to allow for the CCSS core to notify a CC agent that a failure
has occurred when CC is requested.  The "ack" callback is replaced with a
"respond" callback.  The "respond" callback has a parameter indicating
either a successful response or a specific type of failure that may need
to be communicated to the requester.

(closes issue #18336)
Reported by: GeorgeKonopacki
Tested by: mmichelson, rmudgett

JIRA SWP-2633

(closes issue #18337)
Reported by: GeorgeKonopacki
Tested by: mmichelson

JIRA SWP-2634


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@307879 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-15 16:13:55 +00:00
Richard Mudgett
1cd13abaf5 Merged revisions 304149 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r304149 | rmudgett | 2011-01-26 13:38:38 -0600 (Wed, 26 Jan 2011) | 9 lines
  
  Merged revisions 304148 from
  https://origsvn.digium.com/svn/asterisk/be/branches/C.3-bier
  
  ..........
    r304148 | rmudgett | 2011-01-26 13:23:46 -0600 (Wed, 26 Jan 2011) | 2 lines
  
    Update documentation for DAHDISendCallreroutingFacility() application.
  ..........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@304150 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-26 19:39:35 +00:00
Richard Mudgett
8e51d30b67 Merged revisions 303769 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303769 | rmudgett | 2011-01-25 11:42:42 -0600 (Tue, 25 Jan 2011) | 47 lines
  
  Merged revisions 303765 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303765 | rmudgett | 2011-01-25 11:36:50 -0600 (Tue, 25 Jan 2011) | 40 lines
    
    Sending out unnecessary PROCEEDING messages breaks overlap dialing.
    
    Issue #16789 was a good idea.  Unfortunately, it breaks overlap dialing
    through Asterisk.  There is not enough information available at this point
    to know if dialing is complete.  The ast_exists_extension(),
    ast_matchmore_extension(), and ast_canmatch_extension() calls are not
    adequate to detect a dial through extension pattern of "_9!".
    
    Workaround is to use the dialplan Proceeding() application early in
    non-dial through extensions.
    
    * Effectively revert issue #16789.
    
    * Allow outgoing overlap dialing to hear dialtone and other early media.
    A PROGRESS "inband-information is now available" message is now sent after
    the SETUP_ACKNOWLEDGE message for non-digital calls.  An
    AST_CONTROL_PROGRESS is now generated for incoming SETUP_ACKNOWLEDGE
    messages for non-digital calls.
    
    * Handling of the AST_CONTROL_CONGESTION in chan_dahdi/sig_pri was
    inconsistent with the cause codes.
    
    * Added better protection from sending out of sequence messages by
    combining several flags into a single enum value representing call
    progress level.
    
    * Added diagnostic messages for deferred overlap digits handling corner
    cases.
    
    (closes issue #17085)
    Reported by: shawkris
    
    (closes issue #18509)
    Reported by: wimpy
    Patches:
          issue18509_early_media_v1.8_v3.patch uploaded by rmudgett (license 664)
          Expanded upon issue18509_early_media_v1.8_v3.patch to include analog
          and SS7 because of backporting requirements.
    Tested by: wimpy, rmudgett
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303771 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-25 17:49:20 +00:00
Jason Parker
8bd0213ea3 Merged revisions 303285 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303285 | qwell | 2011-01-21 15:48:09 -0600 (Fri, 21 Jan 2011) | 15 lines
  
  Merged revisions 303284 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303284 | qwell | 2011-01-21 15:45:34 -0600 (Fri, 21 Jan 2011) | 8 lines
    
    Reset configuration before parsing users.conf.
    
    Some values configured in chan_dahdi.conf were able to leak in to users.conf
    configuration.  This was surprising users, and potentially setting non-sane
    "defaults".
    
    ASTNOW-125
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-24 17:20:03 +00:00
Jason Parker
779b3494df Temporarily revert r303286
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303375 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-21 23:11:02 +00:00
Jason Parker
c2aa3f8621 Merged revisions 303285 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r303285 | qwell | 2011-01-21 15:48:09 -0600 (Fri, 21 Jan 2011) | 15 lines
  
  Merged revisions 303284 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r303284 | qwell | 2011-01-21 15:45:34 -0600 (Fri, 21 Jan 2011) | 8 lines
    
    Reset configuration before parsing users.conf.
    
    Some values configured in chan_dahdi.conf were able to leak in to users.conf
    configuration.  This was surprising users, and potentially setting non-sane
    "defaults".
    
    ASTNOW-125
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@303286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-21 21:50:11 +00:00
Richard Mudgett
be4d5e4348 The DTMF attended transfer feature cannot callback a chan_dahdi BRI phone.
The DAHDI ISDN channel name is not dialable.

Make a channel name like DAHDI/i3/400-12 dialable when the sequence number
is stripped off of the name.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@301134 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-01-08 01:11:31 +00:00
Moises Silva
4c54cac705 Merged revisions 299530 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r299530 | moy | 2010-12-22 21:28:37 -0500 (Wed, 22 Dec 2010) | 7 lines
  
  Enqueue AST_CONTROL_PROGRESS after AST_CONTROL_RINGING when MFC-R2 calls are accepted
  
  (closes issue #18438)
  Reported by: mariner7
  Tested by: moy
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@299531 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-23 02:53:02 +00:00
Richard Mudgett
3ed89f0e89 Merged revisions 298194 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r298194 | rmudgett | 2010-12-13 11:04:41 -0600 (Mon, 13 Dec 2010) | 26 lines
  
  Merged revisions 298193 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r298193 | rmudgett | 2010-12-13 10:56:07 -0600 (Mon, 13 Dec 2010) | 19 lines
    
    Outgoing PRI/BRI calls cannot do DTMF triggered transfers.
    
    Outgoing PRI/BRI calls cannot do DTMF triggered transfers if a PROCEEDING
    message is not received.  The debug output shows that the DTMF begin event
    is seen, but the DTMF end event is missing.  When the DTMF begin happens,
    the call is muted so we now have one way audio (until a DTMF end event is
    somehow seen).
    
    * Made set the proceeding flag when the PRI_EVENT_ANSWER event is
    received.
    
    * Made absorb the DTMF begin and DTMF end events if we are overlap dialing
    and have not seen a PROCEEDING message.
    
    * Added a debug message when absorbing a DTMF event.
    
    JIRA SWP-2690
    JIRA ABE-2697
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@298195 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-13 17:11:43 +00:00
Richard Mudgett
5634ae11d5 Merged revisions 296166 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r296166 | rmudgett | 2010-11-24 16:42:45 -0600 (Wed, 24 Nov 2010) | 50 lines
  
  Merged revisions 296165 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r296165 | rmudgett | 2010-11-24 16:41:07 -0600 (Wed, 24 Nov 2010) | 43 lines
    
    Oneway audio to SIP phone from FXS port after FXS port gets a CallWaiting pip.
    
    The FXS connected phone has to have CW/CID support to fail, as it will
    send back a DTMF 'A' or 'D' when it's ready to receive CallerID.  A normal
    phone with no CID never fails.  Also the SIP phone does not hear MOH when
    the CW call is answered.
    
    The DTMF end frame is suppressed when the phone acknowledges the CW signal
    for CID.  The problem is the DTMF begin frame needs to be suppressed as
    well.  The DTMF begin frame is causing SIP to start sending the DTMF RTP
    frames.  Since the DTMF end frame is suppressed, SIP will not stop sending
    those DTMF RTP packets.
    
    * Suppress the DTMF begin and end frames when the channel driver is
    looking for DTMF digits.
    
    * Fixed a couple issues caused by not cleaning up the CID spill if you
    answer the CW call while it is sending the CID spill.
    
    * Fixed not sending CW/CID spill to the phone when the call is natively
    bridged.  (Fixed by not using native bridge if CW/CID is possible.)
    
    * Suppress received audio when sending CW/CID spills.  The other parties
    involved do not need to hear the CW/CID spills and may be confused if the
    CW call is for them.
    
    (closes issue #18129)
    Reported by: alecdavis
    Patches:
          issue_18129_v1.8_v3.patch uploaded by rmudgett (license 664)
    Tested by: alecdavis, rmudgett
    
    
    NOTE:
    
    * v1.4 does not have the main problem fixed by suppressing the DTMF start
    frames.  The other three items fixed are relevant.
    
    * If you really must restore native bridging between analog ports, you
    need to disable CW/CID either by configuring chan_dahdi.conf
    callwaitingcallerid=no or dialing *70 before dialing the number to
    temporarily disable CW.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@296167 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-24 22:49:48 +00:00
Richard Mudgett
a77913a22d One way audio before answering call waiting call on analog port.
* Analog call waiting Caller ID spills could get stuck resulting in one
way audio until the waiting call is answered.  This only happens on the
second (and later) call waiting call if the active call is not the first
call.

* The CLI/AMI "dahdi show channel" command could report the wrong channel
information.

Must keep the struct analog_pvt.owner and struct dahdi_pvt.owner pointer
in sync.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295747 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-20 03:11:15 +00:00
Richard Mudgett
7fbafbd5df Bring sig_analog extraction more into alignment with orig-trunk/v1.6.2 chan_dahdi.
* Restore SMDI support.
* Fixed initial value of struct analog_pvt.use_callerid.  It may get
forced on depending upon other config options.
* Call analog_dnd() instead of manual inlined code.
* Removed unused struct analog_pvt.usedistinctiveringdetection.
* Removed the struct analog_pvt.unknown_alarm flag.  It was really the
struct analog_pvt.inalarm flag.
* Use ast_debug() instead of ast_log(LOG_DEBUG).
* Rename several function's index variable to idx.
* Some formatting tweaks.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@295516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-19 16:47:11 +00:00
Richard Mudgett
252cffd38d Merged revisions 293806 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293806 | rmudgett | 2010-11-03 13:31:57 -0500 (Wed, 03 Nov 2010) | 27 lines
  
  Merged revisions 293805 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293805 | rmudgett | 2010-11-03 13:23:04 -0500 (Wed, 03 Nov 2010) | 20 lines
    
    Party A in an analog 3-way call would continue to hear ringback after party C answers.
    
    All parties are analog FXS ports.
    1) A calls B.
    2) A flash hooks to call C.
    3) A flash hooks to bring C into 3-way call before C answers.  (A and B hear ringback)
    4) C answers
    5) A continues to hear ringback during the 3-way call. (All parties can hear each other.)
    
    * Fixed use of wrong variable in dahdi_bridge() that stopped ringback on
    the wrong subchannel.
    
    * Made several debug messages have more information.
    
    A similar issue happens if B and C are SIP channels.  B continues to hear
    ringback.  For some reason this only affects v1.8 and trunk.
    
    * Don't start ringback on the real and 3-way subchannels when creating the
    3-way conference.  Removing this code is benign on v1.6.2 and earlier.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-03 18:35:19 +00:00
Richard Mudgett
643d500d66 Merged revisions 293647 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293647 | rmudgett | 2010-11-02 16:26:30 -0500 (Tue, 02 Nov 2010) | 13 lines
  
  Merged revisions 293639 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293639 | rmudgett | 2010-11-02 16:24:13 -0500 (Tue, 02 Nov 2010) | 6 lines
    
    Make warning message have more useful information in it.
    
    Change "Unable to get index, and nullok is not asserted" to "Unable to get
    index for '<channel-name>' on channel <number> (<function>(), line
    <number>)".
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293648 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-02 21:29:25 +00:00
Richard Mudgett
ea00bff969 Analog 3-way call would not connect all parties if one was using sig_pri.
Also the "dahdi show channel" would not show the correct 3-way call
status.

* Synchronized the inthreeway flag between chan_dahdi and sig_analog.

* Fixed a my_set_linear_mode() sign error and made take an analog sub
channel enum.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-11-01 17:29:30 +00:00
Richard Mudgett
651d43c698 Merged revisions 293417 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293417 | rmudgett | 2010-10-29 20:49:15 -0500 (Fri, 29 Oct 2010) | 9 lines
  
  Merged revisions 293416 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293416 | rmudgett | 2010-10-29 20:45:49 -0500 (Fri, 29 Oct 2010) | 1 line
    
    Remove some more code that serves no purpose.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293418 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-30 01:53:29 +00:00
Richard Mudgett
55a1b13da8 Merged revisions 293340 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r293340 | rmudgett | 2010-10-29 19:40:10 -0500 (Fri, 29 Oct 2010) | 9 lines
  
  Merged revisions 293339 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r293339 | rmudgett | 2010-10-29 19:34:12 -0500 (Fri, 29 Oct 2010) | 1 line
    
    Remove some code that serves no purpose.
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@293341 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-30 00:46:41 +00:00
Richard Mudgett
b8f40f4805 Merged revisions 291655 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

................
  r291655 | rmudgett | 2010-10-13 18:36:50 -0500 (Wed, 13 Oct 2010) | 27 lines
  
  Merged revisions 291643 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.4
  
  ........
    r291643 | rmudgett | 2010-10-13 18:29:58 -0500 (Wed, 13 Oct 2010) | 20 lines
    
    Deadlock between dahdi_exception() and dahdi_indicate().
    
    There is a deadlock between dahdi_exception() and dahdi_indicate() for
    analog ports.  The call-waiting and three-way-calling feature can
    experience deadlock if these features are trying to do something and an
    event from the bridged channel happens at the same time.
    
    Deadlock avoidance code added to obtain necessary channel locks before
    attemting an operation with call-waiting and three-way-calling.
    
    (closes issue #16847)
    Reported by: shin-shoryuken
    Patches:
          issue_16847_v1.4.patch uploaded by rmudgett (license 664)
          issue_16847_v1.6.2.patch uploaded by rmudgett (license 664)
          issue_16847_v1.8_v2.patch uploaded by rmudgett (license 664)
    Tested by: alecdavis, rmudgett
    
    Review: https://reviewboard.asterisk.org/r/971/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@291656 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-13 23:45:11 +00:00
Richard Mudgett
d8225d08b9 The chan_dahdi faxdetect option only works for the first FAX call.
The chan_dahdi faxdetect option only works for the first call.  After that
the option no longer works.  The struct dahdi_pvt.callprogress member is
the encoded user config setting for the callprogress and faxdetect config
options.  Changing this value alters the configuration for all following
calls until the chan_dahdi.conf file is reloaded.

* Fixed the chan_dahdi ast_channel_setoption callback to not change the
users faxdetect config setting except for the current call.

* Fixed the chan_dahdi ast_channel_queryoption callback to read the active
DSP setting of the faxdetect option.

* Made actually disable the active faxdetect DSP setting for the current
call on the analog port.  my_handle_dtmfup() is used for normal analog
ports.  dahdi_handle_dtmfup() is the legacy code and is no longer used
unless in a radio mode.

(closes issue #18116)
Reported by: seandarcy
Patches:
      issue18116_v1.8.patch uploaded by rmudgett (license 664)

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@291541 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-10-13 20:21:02 +00:00
Richard Mudgett
8909fde226 The inalarm flag was not set in sig_analog struct if the port is initially in alarm.
Fixed initial inalarm value for sig_analog ports.

Along with -r261007, this gets the inalarm flag in sync with chan_dahdi
for sig_analog ports.

(closes issue #16983)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@287683 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 23:14:42 +00:00
Jeff Peeler
c9bfde6afd Add parking extension for non-default parking lots.
This is a new feature that allows for parking to custom parking lots to be
accessed directly, rather than with channel variables or by changing the
default parking lot. The extension is set with the parkext option just as the
default parking lot is done. Also, the manager action has been updated to
optionally allow a specified parking lot.

(closes issue #14882)
Reported by: vmikhnevych
Patches: 
      patch_14882.txt uploaded by mnick (license 874)
      modified by me

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@286931 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-15 19:22:15 +00:00
Richard Mudgett
c271acacda Made output libpri event names if pri debugging is enabled when sig_pri processes them.
* Simplified CLI "pri debug xx span xx" command code and removed redundant
debugging enabled messages.

* Made CLI "pri debug xx span xx" command only close the debugging log
file if it was opened.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284779 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 20:59:12 +00:00
Tilghman Lesher
7e3f95e00a When optional_api is non-optional, force dependent modules to be loaded.
(closes issue #17707)
 Reported by: ira
 Patches: 
       20100819__issue17707__asterisk1.8.diff.txt uploaded by tilghman (license 14)
 Tested by: tilghman
 
Review: https://reviewboard.asterisk.org/r/876/


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@284610 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-02 05:20:59 +00:00
Richard Mudgett
2392b8ed1c Use the correct operator when calculating the PRI span devstate.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@282671 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-18 15:27:51 +00:00
Richard Mudgett
593512960d PRI CCSS may use a stale dial string for the recall dial string.
If an outgoing call negotiates a different B channel than initially
requested, the saved original dial string was not transferred to the new B
channel.  CCSS uses that dial string to generate the recall dial string.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@282334 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-13 23:53:36 +00:00
Richard Mudgett
3b7f592cc0 Merged revisions 280229 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.6.2

........
  r280229 | rmudgett | 2010-07-28 14:57:49 -0500 (Wed, 28 Jul 2010) | 2 lines
  
  Add missing enum value "unknown" to the SS7 called_nai and calling_nai config options.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@280235 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-28 20:12:16 +00:00
Russell Bryant
e7b5069c9f Fix inband DTMF detection on outgoing ISDN calls.
This is a regression from the sig_pri split from chan_dahdi.  When a call is
first initiated, the inband DTMF detector is not enabled if it's an outgoing
ISDN call.  However, it needs to be turned on once the media path starts up.
This handling was put back in the open_media() callback of chan_dahdi.  In
sig_pri, open_media() calls were added to a few places where it was needed,
including handling of PRI_EVENT_RINGING, PRI_EVENT_PROGRESS, and
PRI_EVENT_PROCEEDING.

Thanks to rmudgett for helping me with the patch!


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279916 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 19:50:56 +00:00
Russell Bryant
ccfad47983 Support "channels" in addition to "channel" in chan_dahdi.conf.
Review: https://reviewboard.asterisk.org/r/804


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279815 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 16:06:58 +00:00
Paul Belanger
cd034c3dfc If dringXcontext is null, fallback to default context value.
(closes issue #17693)
Reported by: iasgoscouk
Patches:
      issue17693.patch uploaded by pabelanger (license 224)
Tested by: iasgoscouk

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.8@279755 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-27 02:57:33 +00:00
Richard Mudgett
301505c4c4 Rename sig_pri_pri to sig_pri_span. More descriptive of concept.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278942 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 15:41:44 +00:00
Alec L Davis
8b3c00a824 missed FXS kewl start polarityswitch when finally on hook.
(issue #17318)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-23 11:01:14 +00:00
Alec L Davis
85bfe38f2f Support FXS module Polarity Reversal on remote party Answer and Hangup
FXS lines normally connect to a telephone. However, when FXS lines are routed
to an external PBX or Key System to act as "external" or "CO" lines, it is
extremely difficult, if not impossible for the external PBX to know when
the call has been disconnected without receiving a polarity reversal on the line.

Now using answeronpolarityswitch and hanguponpolarityswitch keywords that
previously were used only for FXO ports, now applies like functionality for
an FXS port, but from the connected equipment's point of view.

(closes issue #17318)
Reported by: armeniki
Patches: 
      fxs_linepolarity.diff5.txt uploaded by alecdavis (license 585)
Tested by: alecdavis

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278809 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-22 23:14:50 +00:00
Richard Mudgett
ab0b255455 DNID not cleared when channel hang up (Affects PRI and SS7)
The "dahdi show channels" CLI command still reports the DNID of the
previous call even if the call is already hang up.  The "dahdi show
channels" command of older releases clear the DNID once the channel is
hang up.

Regression from the sig_analog/sig_pri extraction from chan_dahdi.

(closes issue #17623)
Reported by: klaus3000
Patches:
      issue17623.patch uploaded by rmudgett (license 664)
Tested by: rmudgett


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278777 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-22 21:16:04 +00:00
Tzafrir Cohen
16b4813599 Fix invalid test for rxisoffhook in FXO channels
This fixes some cases of no outgoing calls on FXO before an incoming call.

Remove an unnecessary testing of an "off-hook" bit from DAHDI for FXO
(KS/GS) channels.In some cases the bit would not be initialized properly
before the first inbound call and thus prevent an outgoing call.

If those tests are actually required by anybody, they should define
DAHDI_CHECK_HOOKSTATE in channels/sig_analog.c .

(closes issue #14577)
Reported by: jkroon
Patches:
      asterisk_chan_dahdi_hookstate_fix_trunk_new.diff uploaded by frawd (license 610)
Tested by: frawd

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278501 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 17:44:20 +00:00
Jeff Peeler
d1b0bf0f2d include stat.h for everybody, needed for device2chan
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278361 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-21 03:53:19 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Jeff Peeler
58061391a1 Fix regression with distinctive ring detection.
The issue here is that passing an array to a function prohibits the ARRAY_LEN
macro from returning the real size. To avoid this the size is now defined and
use of ARRAY_LEN is avoided.

(closes issue #15718)
Reported by: alecdavis
Patches: 
      bug15718.patch uploaded by jpeeler (license 325)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277837 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 14:39:07 +00:00
Richard Mudgett
34bc4b1dcb Merged revisions 277419 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r277419 | rmudgett | 2010-07-16 15:18:54 -0500 (Fri, 16 Jul 2010) | 15 lines
  
  priexclusive in chan_dahdi.conf ignored when reloading dahdi module
  
  During a reload, the priexclusive and outsignalling parameters are not
  read in from the config file as intended.  Unfortunately, they get set to
  defaults as a result.  This patch makes sure that they do not get set to
  defaults during a reload.
  
  (closes issue #17441)
  Reported by: mtryfoss
  Patches:
        issue17441_v1.4.patch uploaded by rmudgett (license 664)
        issue17441_v1.6.2.patch uploaded by rmudgett (license 664)
        issue17441_trunk.patch uploaded by rmudgett (license 664)
  Tested by: rmudgett
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-16 20:27:51 +00:00
Richard Mudgett
cf7bbcc4c6 Expand the caller ANI field to an ast_party_id
Expand the ani field in ast_party_caller and ast_party_connected_line to
an ast_party_id.

This is an extension to the ast_callerid restructuring patch in review:
https://reviewboard.asterisk.org/r/702/

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:58:03 +00:00
Richard Mudgett
ec37ffbdaf ast_callerid restructuring
The purpose of this patch is to eliminate struct ast_callerid since it has
turned into a miscellaneous collection of various party information.

Eliminate struct ast_callerid and replace it with the following struct
organization:

struct ast_party_name {
	char *str;
	int char_set;
	int presentation;
	unsigned char valid;
};
struct ast_party_number {
	char *str;
	int plan;
	int presentation;
	unsigned char valid;
};
struct ast_party_subaddress {
	char *str;
	int type;
	unsigned char odd_even_indicator;
	unsigned char valid;
};
struct ast_party_id {
	struct ast_party_name name;
	struct ast_party_number number;
	struct ast_party_subaddress subaddress;
	char *tag;
};
struct ast_party_dialed {
	struct {
		char *str;
		int plan;
	} number;
	struct ast_party_subaddress subaddress;
	int transit_network_select;
};
struct ast_party_caller {
	struct ast_party_id id;
	char *ani;
	int ani2;
};

The new organization adds some new information as well.

* The party name and number now have their own presentation value that can
be manipulated independently.  ISDN supplies the presentation value for
the name and number at different times with the possibility that they
could be different.

* The party name and number now have a valid flag.  Before this change the
name or number string could be empty if the presentation were restricted.
Most channel drivers assume that the name or number is then simply not
available instead of indicating that the name or number was restricted.

* The party name now has a character set value.  SIP and Q.SIG have the
ability to indicate what character set a name string is using so it could
be presented properly.

* The dialed party now has a numbering plan value that could be useful to
have available.

The various channel drivers will need to be updated to support the new
core features as needed.  They have simply been converted to supply
current functionality at this time.


The following items of note were either corrected or enhanced:

* The CONNECTEDLINE() and REDIRECTING() dialplan functions were
consolidated into func_callerid.c to share party id handling code.

* CALLERPRES() is now deprecated because the name and number have their
own presentation values.

* Fixed app_alarmreceiver.c write_metadata().  The workstring[] could
contain garbage.  It also can only contain the caller id number so using
ast_callerid_parse() on it is silly.  There was also a typo in the
CALLERNAME if test.

* Fixed app_rpt.c using ast_callerid_parse() on the channel's caller id
number string.  ast_callerid_parse() alters the given buffer which in this
case is the channel's caller id number string.  Then using
ast_shrink_phone_number() could alter it even more.

* Fixed caller ID name and number memory leak in chan_usbradio.c.

* Fixed uninitialized char arrays cid_num[] and cid_name[] in
sig_analog.c.

* Protected access to a caller channel with lock in chan_sip.c.

* Clarified intent of code in app_meetme.c sla_ring_station() and
dial_trunk().  Also made save all caller ID data instead of just the name
and number strings.

* Simplified cdr.c set_one_cid().  It hand coded the ast_callerid_merge()
function.

* Corrected some weirdness with app_privacy.c's use of caller
presentation.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00
Eliel C. Sardanons
a1b89a6a50 Implement AstData API data providers as part of the GSOC 2010 project,
midterm evaluation.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274727 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 14:48:42 +00:00
Richard Mudgett
fd3297a272 Add missing conditional around chan_dahdi mfcr2_skip_category config parameter.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274639 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-07 18:32:35 +00:00
Richard Mudgett
d20ca64e70 Merged revisions 274579 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r274579 | rmudgett | 2010-07-07 13:12:41 -0500 (Wed, 07 Jul 2010) | 1 line
  
  Close the DAHDI FD on error when processing chan_dahdi toneduration config parameter.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274595 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-07 18:20:00 +00:00
Tilghman Lesher
5754933045 Status shows all non-CRC4 lines as "yellow", even if "yellow" was not in the bitfield.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@274281 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-06 22:09:23 +00:00
Tzafrir Cohen
c613897d1c Fix various typos reported by Lintian
(Also fix the typos in the comments)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@273641 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-02 15:57:02 +00:00
Russell Bryant
746d8e6013 Don't try to lock/unlock an uninitialized lock on a dahdi_pri.
This small changes prevents destroy_all_channels() from accessing a lock on an
unused dahdi_pri struct, resolving a ton of ERRORs that get spewed out when
shutting Asterisk down gracefully.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@272052 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-22 23:20:37 +00:00
Richard Mudgett
fb5fddd987 Extract sig_ss7_init_linkset() to sig_ss7.
Also found a place where sig_pri_init_pri() was inlined and called it
instead.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@270298 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-06-14 20:51:09 +00:00