Archived
14
0
Fork 0
Commit graph

49 commits

Author SHA1 Message Date
alecdavis
bbcc57ee3f Update CDR variables as pbx starts
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call,
by executing ast_cdr_update() early in __ast_pbx run.
Reverts sig_pri changes in trunk that are specific to isdn technology only.

(closes issue #16638)
Reported by: alecdavis
Patches: 
      cdr_update.diff3.txt uploaded by alecdavis (license 585)
Tested by: alecdavis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@241416 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-20 08:18:45 +00:00
alecdavis
4c5831b3e5 Update CDR variables before pbx starts (overlap dial)
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call.

(issue #16638)
Reported by: alecdavis
Patches: 
      cdr_update.diff2.txt uploaded by alecdavis (license 585)
Tested by: alecdavis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@241187 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-19 00:24:35 +00:00
alecdavis
3b99eea5f4 Update CDR variables before pbx starts
Allows CDR variables added in cdr.c:set_one_cid to become visable during the call.

(closes issue #16638)
Reported by: alecdavis
Patches: 
      cdr_update.diff.txt uploaded by alecdavis (license 585)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@241097 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-18 22:00:24 +00:00
rmudgett
3275e9cd64 Fix using the wrong pointer type in do_idle_thread().
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@238527 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-07 21:24:06 +00:00
rmudgett
8da6746f8b Removed unused parameters from analog_available() and sig_pri_available().
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@237804 f38db490-d61c-443f-a65b-d21fe96a405b
2010-01-05 18:57:29 +00:00
kpfleming
09a7be92ae Change all refererences to 1.6.3 to be 1.8, since that will be the next feature release
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@235904 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-21 18:51:17 +00:00
jpeeler
1900a766f7 Fix problem on digital channels due to digital flag not getting set
Changed areas in sig_pri to set the digital flag using a callback that will
also set the corresponding flag in chan_dahdi. Modified dahdi_request slightly
so that if a bearer is marked as digital, that information is available when
creating the new channel.

(closes issue #16151)
Reported by: alecdavis
Patch based on bug_16151.diff.txt uploaded by alecdavis (license 585)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@231058 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-24 17:12:25 +00:00
rmudgett
0f12615286 Created standard location to add options to chan_dahdi for ISDN dialing.
Dial(DAHDI/g1[/extension[/options]])
Current options:
K(<keypad_digits>)
R Reverse charging indication (Collect calls)

The earlier Dial(DAHDI/g1[/K<keypad_digits>][/extension] format was
variable and did not allow for the easy addition of more options.

The earlier 'C' prefix character for reverse charge indiation would
conflict with the a-d DTMF digits if ISDN uses them.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@228691 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-06 22:32:17 +00:00
tilghman
3bacd4082e Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 14:05:12 +00:00
rmudgett
225f4a7ea1 DAHDI ISDN channel names will not allow device state to work. (Interim solution.)
Since ISDN works like SIP and not analog ports in regard to devices, the
device state based on the ISDN channel number could not work.  This has
not been an issue until the advent of PTMP NT mode.  Previously, ISDN
lines were used as trunks and did not have to keep track of specific
devices.

As an interim solution until device states are properly implemented, the
channel name is being changed to the following format to use the generic
device state support:
DAHDI/i<span>/<number>[:<subaddress>]-<sequence-number>

Dialplan hints would thus be:
exten => xxx,hint,DAHDI/i2/5551212

This will work with the following restrictions:
*  The number of devices/phones cannot exceed the number of B channels.
(i.e., BRI has 2)
*  Each device/phone can only have one number.  No shared MSN's.
*  The phones/devices probably should not use subaddressing.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@226882 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-02 17:34:22 +00:00
rmudgett
d9cdfa12c3 Cleanup some flags on DAHDI PRI channel hangup.
*  Cleanup some flags on DAHDI PRI channel hangup. (sig_pri split)
*  Make sure the outgoing flag is cleared if a new channel fails to get
created for outgoing calls.
*  Remove some unused flags since sig_pri was split.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@226648 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-30 23:26:41 +00:00
rmudgett
4ad439617d Add to chan_dahdi ISDN HOLD, Call deflection, and keypad facility support.
* Added handling of received HOLD/RETRIEVE messages and the optional ability
  to transfer a held call on disconnect similar to an analog phone.
* Added CallRerouting/CallDeflection support for Q.SIG, ETSI PTP, ETSI PTMP.
  Will reroute/deflect an outgoing call when receive the message.
  Can use the DAHDISendCallreroutingFacility to send the message for the
  supported switches.
* Added ability to send/receive keypad digits in the SETUP message.
  Send keypad digits in SETUP message: Dial(DAHDI/g1[/K<keypad_digits>][/extension])
  Access any received keypad digits in SETUP message by: ${CHANNEL(keypad_digits)}
* Added support for BRI PTMP NT mode.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225692 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-23 16:57:33 +00:00
rmudgett
6af6f83daf Search for the subaddress only within the extension section of the dial string.
Dial(DAHDI/(g|G|r|R)<group#(0-63)>[c|r<cadance#>|d][/extension])


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225446 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 20:07:55 +00:00
rmudgett
d7a3a1035d Add support for calling and called subaddress. Partial support for COLP subaddress.
The Telecom Specs in NZ suggests that SUB ADDRESS is always on, so doing
"desk to desk" between offices each with an asterisk box over the ISDN
should then be possible, without a whole load of DDI numbers required.

(closes issue #15604)
Reported by: alecdavis
Patches:
      asterisk_subaddr_trunk.diff11.txt uploaded by alecdavis (license 585)
      Some minor modificatons were made.
Tested by: alecdavis, rmudgett

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@225357 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-22 16:33:22 +00:00
rmudgett
9343f48f53 Make PRI_SUBCMD_xxx handling subaddress friendly.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224930 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-21 02:43:36 +00:00
file
e04cdc660e Add a callback to sig_pri which is called when sig_pri is going to queue a control frame on a channel.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224491 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-19 14:32:08 +00:00
jpeeler
f9da7c70a1 Merged revisions 224330 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224330 | jpeeler | 2009-10-16 20:32:47 -0500 (Fri, 16 Oct 2009) | 13 lines
  
  Fix stale caller id data from being reported in AMI NewChannel event
  
  The problem here is that chan_dahdi is designed in such a way to set
  certain values in the dahdi_pvt only once. One of those such values
  is the configured caller id data in chan_dahdi.conf. For PRI, the
  configured caller id data could be overwritten during a call. Instead
  of saving the data and restoring, it was decided that for all non-analog
  channels it was simply best to not set the configured caller id in the
  first place and also clear it at the end of the call.
  
  (closes issue #15883)
  Reported by: jsmith
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224331 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-17 01:36:08 +00:00
rmudgett
3928480e2d Merged revisions 224260 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r224260 | rmudgett | 2009-10-16 15:25:23 -0500 (Fri, 16 Oct 2009) | 18 lines
  
  Never released PRI channels when using Busy() or Congestion() dialplan apps.
  
  When the Busy() or Congestion() application is used towards ISDN (an ISDN
  progress is sent), the responding ISDN Disconnect or Release may contain
  the ISDN cause user busy or one of the congestion causes.  In chan_dahdi.c
  these causes will only set the needbusy or needcongestion flags and not
  activate the softhangup procedure.  Unfortunately only the latter can
  interrupt the endless wait loop of Busy()/Congestion().
  
  Result: PRI channels staying in state busy for the rest of asterisk life
  or until the other end times out and forces the call to clear.
  
  (issue #14292)
  Reported by: tomaso
  Patches:
        disc_rel_userbusy.patch uploaded by tomaso (license 564)
        (This patch is unrelated to the issue.)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@224261 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-16 20:40:57 +00:00
rmudgett
df2f3c7fcd Miscellaneous minor changes.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220792 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-28 21:02:20 +00:00
rmudgett
e5ecb06a9d Locking issues dealing with service_lock.
*  Removed unneeded and uninitialized service_lock.
*  Fixed potential locking imbalance in pri_dchannel():PRI_EVENT_RESTART.
*  Fixed verbose message typo in pri_dchannel():PRI_EVENT_RESTART.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220672 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-28 15:27:46 +00:00
rmudgett
e19a13dc69 Reduce indentation in sig_pri_available().
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220543 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 19:56:18 +00:00
jpeeler
2b5aca0054 Cleanup approach in 217804 and don't reach inside the sig_pvt.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217987 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-10 23:49:09 +00:00
rmudgett
7ca87fcab5 Fix memory leak of sig_xxx private structures.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217332 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-08 23:37:57 +00:00
rmudgett
3e7c804c76 Remove duplicate entry in the sig_pri_pri private pointer array.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@217236 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-08 21:17:16 +00:00
rmudgett
28022e8fe3 Lets try not to use C++ keywords for variable names.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@216186 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-03 21:09:46 +00:00
rmudgett
9d636a0087 Made chan_dahdi able to ignore incoming calls that are not in a MSN list for ISDN PTMP CPE spans.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215757 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-02 23:25:33 +00:00
rmudgett
97c3f0762e Move discardremoteholdretrieval test so it applies only to the specific notification indicator values.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@214654 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-28 19:13:53 +00:00
rmudgett
214c6e3cfc Update configure script for libpri COLP feature dependency requirements.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@213748 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-21 23:18:16 +00:00
rmudgett
18be54373b Add COLP support to chan_dahdi/sig_pri.
Add Connected Line Presentation (COLP) support to chan_dahdi/libpri as an
addition to issue 8824.  This is the chan_dahdi/sig_pri portion.  COLP
support is now available for any switch for which libpri supports COLP
(currently ETSI PTP, ETSI PTMP, and Q.SIG) with this patch.

(closes issue #14068)
Tested by: rmudgett

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@213007 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-18 23:53:55 +00:00
tilghman
d1ec1aa57d AST-2009-005
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211539 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 19:20:57 +00:00
jpeeler
baf55cdd42 Fix PRI/BRI channels when in alarm condition to only be marked for hangup if
T309 is not enabled.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211435 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 17:17:06 +00:00
rmudgett
9849a632bb Restoring some code to sig_pri. Not sure if it is really needed.
Putting some DSP code back into sig_pri that was removed by the
chan_dahdi/sig_pri reorganization.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211392 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-10 15:53:23 +00:00
rmudgett
fd4a729b07 Fix static on line when PRI does overlap dialing.
The wrong encoding law was used because = was used when it should
have been ==.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211191 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-07 23:17:41 +00:00
rmudgett
89401173c0 Sanity adjustments to pri_ss_thread for sig_pri environment.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210866 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-06 19:52:11 +00:00
rmudgett
246b654b2a Fix potential deadlock issue with USERUSERINFO channel variable.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210732 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-05 23:44:39 +00:00
rmudgett
dbfdc11927 More changes from chan_dahdi that did not make it into sig_pri.
*  Q.SIG channel mapping option.
*  discardremoteholdretrieval option.
*  libPRI debug defines.
*  pri_set_overlapdial() now set correctly.
*  pthread creation of pri_ss_thread now matches.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210696 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-05 22:46:37 +00:00
rmudgett
731c937f30 Merged revisions 210575 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r210575 | rmudgett | 2009-08-05 14:18:56 -0500 (Wed, 05 Aug 2009) | 14 lines
  
  Dialplan starts execution before the channel setup is complete.
  
  *  Issue 15655: For the case where dialing is complete for an incoming
  call, dahdi_new() was asked to start the PBX and then the code set more
  channel variables.  If the dialplan hungup before these channel variables
  got set, asterisk would likely crash.
  *  Fixed potential for overlap incoming call to erroneously set channel
  variables as global dialplan variables if the ast_channel structure failed
  to get allocated.
  *  Added missing set of CALLINGSUBADDR in the dialing is complete case.
  
  (closes issue #15655)
  Reported by: alecdavis
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210640 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-05 19:40:03 +00:00
rmudgett
9f041256a4 Fix CALLERID() values for sig_pri on incoming calls.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210387 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-04 17:46:03 +00:00
rmudgett
e44258424c Changes from chan_dahdi that did not make it into sig_pri.
*  Moved SUPPORT_USERUSER to sig_pri.c
*  Fix PRI_DEADLOCK_AVOIDANCE parameter.
*  Whitespace changes.
*  Added missing unlock in pri_dchannel():PRI_EVENT_RING case.
*  Balanced curly braces.
*  ast_debug/ast_log changes from chan_dahdi.
*  sig_pri_indicate() should default to return -1 if the indication is not
handled.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210154 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-03 18:05:46 +00:00
rmudgett
0b294293d9 Trim trailing whitespace.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210094 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-03 16:24:13 +00:00
jpeeler
81622bec74 Add missing ifdef-s for service maintenance message functionality
(closes issue #15614)
Reported by: fabled


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209619 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-30 23:31:41 +00:00
jpeeler
8186a1c6f6 Fix sending of interface identifier unconditionally in sig_pri
The wrong logic was being used in chan_dahdi to convert a sig_pri_chan
to the proper libpri channel number. The most significant bit must only
be set only when trunk groups are being used.

(closes issue #15452)
Reported by: alecdavis
Patches:
      bug15452.patch uploaded by jpeeler (license 325)
Tested by: alecdavis



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@208267 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-23 15:59:44 +00:00
jpeeler
55c3992cc9 Do not dial digits when none were specified for sig_pri based calls
(closes issue #15524)
Reported by: elguero
Patches:
      pri-sig-no-dest-set.patch uploaded by elguero (license 37)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@207950 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-21 22:51:47 +00:00
jpeeler
97097c07d2 The dialing flag was mistakingly removed from sig_pri.
This readds the proper setting of the flag and is really a continuation of
r205731. The flag was being set properly in sig_analog, but use of the 
newly added set_dialing callback allowed for some simplification in
chan_dahdi.

(closes issue #15486)
Reported by: rmudgett


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@206767 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-15 22:02:55 +00:00
seanbright
7bf1f07142 Add a configure check for Reverse Charging Indication support in LibPRI.
Also go back and wrap all of the places that use the specific reverse charge
APIs with preprocessor conditionals.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@204919 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-03 15:44:01 +00:00
seanbright
0071975778 Support setting and receiving Reverse Charging Indication over ISDN PRI.
This is a continuation of revision 885 to LibPRI (Capture and expose the Reverse
Charging Indication IE on ISDN PRI) which added the ability to get/set Reverse
Charging Indication in LibPRI.  This patch adds the ability to specify RCI on
the outbound leg of a PRI call from within Asterisk, by prefixing the dialed
number with a capital 'C' like:

...,Dial(DAHDI/g1/C4445556666)

And to read it off an inbound channel:

exten => s,1,Set(RCI=${CHANNEL(reversecharge)})

Thanks again to rmudgett for the thorough review.

(closes issue #13760)
Reported by: mrgabu

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@204749 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-02 17:46:14 +00:00
rmudgett
b59b9b3041 Merged revisions 203908 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r203908 | rmudgett | 2009-06-26 19:55:12 -0500 (Fri, 26 Jun 2009) | 16 lines
  
  The ISDN CPE side should not exclusively pick B channels normally.
  
  Before this patch, Asterisk unconditionally picked B channels exclusively
  on the CPE side and normally allowed alternative B channels on the network
  side.  Now Asterisk does the opposite.
  
  Reasons for the CPE side to normally not pick B channels exclusively:
  *  For CPE point-to-multipoint mode (i.e. phone side), the CPE side does
  not have enough information to exclusively pick B channels.  (There may be
  other devices on the line.)
  *  Q.931 gives preference to the network side picking B channels.
  *  Some telcos require the CPE side to not pick B channels exclusively.
  
  (closes issue #14383)
  Reported by: mbrancaleoni
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203909 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-27 01:07:52 +00:00
russell
ac3b35dcc7 Merge the new Channel Event Logging (CEL) subsystem.
CEL is the new system for logging channel events.  This was inspired after
facing many problems trying to represent what is possible to happen to a call
in Asterisk using CDR records.  For more information on CEL, see the built in
HTML or PDF documentation generated from the files in doc/tex/.

Many thanks to Steve Murphy (murf) and Brian Degenhardt (bmd) for their hard
work developing this code.  Also, thanks to Matt Nicholson (mnicholson) and
Sean Bright (seanbright) for their assistance in the final push to get this
code ready for Asterisk trunk.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203638 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26 15:28:53 +00:00
jpeeler
bf5864bc4b New signaling module to handle PRI/BRI operations in chan_dahdi
This merge splits the PRI/BRI signaling logic out of chan_dahdi.c into
sig_pri.c. Functionality in theory should not change (mostly). A few trivial
changes were made in sig_analog with verbose messages and commenting.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203304 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-25 19:54:12 +00:00