Commit Graph

68 Commits

Author SHA1 Message Date
Joshua Colp
bf5b92f004 Fix a situation where the DAHDI channel private structure lock was not unlocked when it should have been.
(issue AST-210)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@188937 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-17 14:25:57 +00:00
David Vossel
4c6e1bd0a5 National prefix inserted even when caller ID not available
When the caller ID is restricted, the expected behavior is for the caller id to be blank.  In chan_dahdi, the national prefix is placed onto the callers number even if its restricted (empty) causing the caller id to be the national prefix rather than blank.

(closes issue #13207)
Reported by: shawkris
Patches:
      national_prefix.diff uploaded by dvossel (license 671)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@188646 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-15 22:08:40 +00:00
Russell Bryant
9b0c55768a Support "signaling" in addition to "signalling".
The sample configuration file has references to both spellings.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@187865 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 19:26:40 +00:00
Kevin P. Fleming
89e29bfdc9 Fix a bug where DAHDI/Zaptel channels would not properly switch formats when requested
Don't offer AST_FORMAT_SLINEAR on DAHDI/Zaptel channels... while it could provide a slight performance benefit, the translation core in Asterisk has some flaws when a channel driver offers multiple raw formats. this fix is much simpler than fixing the translation core to solve that issue (although that will be done later).



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@186458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 20:19:20 +00:00
Kevin P. Fleming
6dbc379d01 ensure that the buffer passed to DAHDI_SET_BUFINFO is fully initialized
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@186081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 17:21:29 +00:00
Kevin P. Fleming
090f081e41 the DAHDI_GETCONF, DAHDI_SETCONF and DAHDI_GET_PARAMS ioctls were recently corrected to show that they do, in fact, read data from userspace as part of their work. due to this fix, valgrind now reports a number of cases where chan_dahdi passed an uninitialized (or partially) buffer to these ioctls, which could lead to unexpected behavior.
this patch corrects chan_dahdi to ensure that buffers passed to these ioctls are always fully initialized.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@185952 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 13:43:43 +00:00
Tilghman Lesher
e81cde3d9c Reordering, to change prior to unlocking
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183342 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 19:21:30 +00:00
Tilghman Lesher
5fc7a5919a Delay signalling progress until a PRI channel really signals progress.
(closes issue #13034)
 Reported by: klaus3000
 Patches: 
       20090316__bug13034.diff.txt uploaded by tilghman (license 14)
       patch_trunk_183progress_klaus3000.txt uploaded by klaus3000 (license 65)
 Tested by: klaus3000


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@183319 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-19 19:15:33 +00:00
Kevin P. Fleming
e536392919 fix another symbol namespace issue (reported by Andrew on asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 11:31:41 +00:00
Jason Parker
62fbf19157 Allow dahdichanname to work as advertised.
(closes issue #14056)
Reported by: dsedivec
Patches:
      load_from_zapata_conf.patch uploaded by dsedivec (license 638)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@182652 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-17 20:13:40 +00:00
Jason Parker
5a3bc6b38d Make sure we still support zapchan in users.conf, in addition to dahdichan.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@180010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-03 23:01:06 +00:00
Richard Mudgett
cefe4f025d channels/chan_dahdi.c
*  Added doxygen comments to the major dahdi structures.
*  Fixed PRI using an incorrect string value if the extension
delimiter is not present in the Dial() function.
*  Fixed some uninitialized string variables on FXS ports.

configs/chan_dahdi.conf.sample
*  Updated some documentation.

These changes are already in trunk -r172400


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@172962 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-02 20:28:54 +00:00
Tilghman Lesher
16f378c559 Clarify log message (suggested by manxpower on #asterisk-dev)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@171963 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-28 17:25:18 +00:00
Mark Michelson
4133fa7cfc Fix a deadlock relating to channel locks and autoservice
It has been discovered that if a channel is locked prior
to a call to ast_autoservice_stop, then it is likely that
a deadlock will occur. The reason is that the call to 
ast_autoservice_stop has a check built into it to be sure
that the thread running autoservice is not currently trying
to manipulate the channel we are about to pull out of 
autoservice.

The autoservice thread, however, cannot advance beyond where
it currently is, though, because it is trying to acquire
the lock of the channel for which autoservice is attempting
to be stopped.

The gist of all this is that a channel MUST NOT be locked
when attempting to stop autoservice on the channel.

In this particular case, the channel was locked by a call
to ast_read. A call to ast_exists_extension led to autoservice
being started and stopped due to the existence of dialplan
switches.

It may be that there are future commits which handle the same
symptoms but in a different location, but based on my looks through
the code, it is very rare to see a construct such as this one.

(closes issue #14057)
Reported by: rtrauntvein
Patches:
      14057v3.patch uploaded by putnopvut (license 60)
Tested by: rtrauntvein

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@166380 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-22 20:56:29 +00:00
Jeff Peeler
e0bec5d67d (closes issue #13480)
Reported by: tzafrir

Replace a bunch of if defined checks for Zaptel/DAHDI through several new defines in dahdi_compat.h. This removes a lot of code duplication. Example from bug:

#ifdef HAVE_ZAPTEL
  fd = open("/dev/zap/pseudo", O_RDWR);
#else
  fd = open("/dev/dahdi/pseudo", O_RDWR);
#endif

is replaced with:
  fd = open(DAHDI_FILE_PSEUDO, O_RDRW);



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@165991 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-19 19:48:00 +00:00
Jeff Peeler
c7dcb086dd (closes issue #13786)
Reported by: tzafrir

When compiling against Zaptel dahdi_compat will now only define all the DAHDI defines if the Zaptel define is present. Also, there is no such thing as DAHDI_PRI.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@158629 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 00:04:36 +00:00
Kevin P. Fleming
18df35a2c1 somehow missed a bunch of gcc 4.3.x warnings in this branch on the first pass
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@153823 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-03 13:01:18 +00:00
Kevin P. Fleming
add5ff5b05 fix a bunch of potential problems found by gcc 4.3.x, primarily bare strings being passed to printf()-like functions and ignored results from read()/write() and friends
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@153337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-01 18:22:39 +00:00
Jeff Peeler
1400db9dfc Buffer policy setting for half is not needed.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@152286 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-27 23:28:49 +00:00
Jason Parker
979e2cd58d Correctly allow chan_dahdi to compile against older versions of Zaptel.
Don't always define HAVE_ZAPTEL_CHANALARMS (since we check if it's defined..)
Minor cleanup to make things clear.

(closes issue #13726)
Reported by: tzafrir
Patches:
      dahdi_def.diff uploaded by tzafrir (license 46)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@150557 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-17 15:31:35 +00:00
Kevin P. Fleming
d7be4318bb when parsing a text configuration option, ensure that the buffer on the stack is actually large enough to hold the legal values of that option, and also ensure that sscanf() knows to stop parsing if it would overrun the buffer (without these changes, specifying "buffers=...,immediate" would overflow the buffer on the stack, and could not have worked as expected)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@147681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-08 22:22:09 +00:00
Kevin P. Fleming
325aa9652f revert this change until i can understand why it results in locking order changes
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@147430 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-07 23:14:57 +00:00
Kevin P. Fleming
198b01597b don't start a PBX on incoming PRI call channels until after we're done setting channel variables and other things on the channel, otherwise the channel might go away (if the dialplan hangs up quickly) before we are done, which results in a spectacular crash
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@147429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-07 22:59:08 +00:00
Kevin P. Fleming
e1fc602c64 ensure that the private structure for pseudo channels is created without 'leaking' configuration data from other configured channels
(closes issue #13555)
Reported by: jeffg
Patches:
      issue_13555.patch uploaded by kpfleming (license 421)
Tested by: jeffg


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@146643 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-06 15:57:49 +00:00
Jeff Peeler
7c9fa301c6 add HAVE_PRI if define around dahdi_close_pri_fd
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@140115 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-26 16:49:57 +00:00
Jeff Peeler
dc243f61be (closes issue #12071)
Reported by: tzafrir
Patches:
      dahdi_close.diff uploaded by tzafrir (license 46)
Tested by: tzafrir, jpeeler

This patch fixes closing open file descriptors in the case of an error.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@140056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-26 15:57:02 +00:00
Kevin P. Fleming
3f0d388eee correct a file location in an error message
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@140029 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-26 14:09:22 +00:00
Jeff Peeler
fc0e5dd3f9 Fixes loop that could possibly never exit in the event of a channel never being able to be opened or specify after a restart.
(closes issue #11017)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@139387 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-21 23:39:31 +00:00
Kevin P. Fleming
e2fc623d88 Backport support for Zaptel/DAHDI channel-level alarms from trunk/1.6, because not doing so just makes it difficult for people with channels that are in alarm when Asterisk starts up to get them going once the alarm is cleared
(closes issue #12160)
Reported by: tzafrir
Patches:
      asterisk-chanalarms_14.patch uploaded by tzafrir (license 46)
Tested by: tzafrir


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@139145 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20 19:35:59 +00:00
Jeff Peeler
05e68b7ca6 Add configuration option to chan_dahdi.conf to allow buffering policy and number of buffers to be configured per channel. Syntax:
buffers=<num of buffers>,<policy>

Where the number of buffers is some non-negative integer and the policy is either "full", "half", or "immediate".



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-19 22:56:07 +00:00
Sean Bright
7db192138f You know what's awesome? Code that compiles... ;)
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138569 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-18 11:57:24 +00:00
Jeff Peeler
fbd79d76b2 fix compilation warnings
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138516 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-18 02:05:29 +00:00
Jeff Peeler
ffc421d3fc fixes use count to properly decrement if an active dahdi channel is destroyed allowing module to be unloaded
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138360 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-16 01:12:18 +00:00
Jeff Peeler
8982add7a8 add forgotten locks around ss_thread_count in ss_thread for dahdi restart
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138309 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-15 23:41:54 +00:00
Jeff Peeler
4159f6d3f7 initialize condition variable ss_thread_complete using ast_cond_init
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138238 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-15 21:28:26 +00:00
Jeff Peeler
df0a6baec5 declared static mutexes using AST_MUTEX_DEFINE_STATIC macro
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138151 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-15 19:41:29 +00:00
Jeff Peeler
155afc5a4b Fixes the dahdi restart functionality. Dahdi restart allows one to restart all DAHDI channels, even if they are currently in use. This is different from unloading and then loading the module since unloading requires the use count to be zero. Reloading the module is different in that the signalling is not changed from what it was originally configured. Also, this fixes not closing all the file descriptors for D-channels upon module unload (which would prevent loading the module afterwards).
(closes issue #11017)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@138119 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-15 19:21:51 +00:00
Tilghman Lesher
5dff477c3e Oops, wrong direction
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-14 16:55:20 +00:00
Tilghman Lesher
65a16565fd When creating the secondary subchannel name, it is necessary to compare to
the existing channel name without the "Zap/" or "DAHDI/" prefix, since our
test string is also without that prefix.
(closes issue #13027)
 Reported by: dferrer
 Patches: 
       chan_zap-1.4.21.1_fix2.patch uploaded by dferrer (license 525)
       (Slightly modified by me, to compensate for both names)


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-14 16:47:30 +00:00
Kevin P. Fleming
e797e4ed72 add support for Zaptel versions that contain the new transcoder interface
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137677 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-14 02:02:15 +00:00
Jeff Peeler
75bdfd1436 Register DAHDISendKeypadFacility application if dahdi_chan_mode is set to DAHDI + Zap. Mark ZapSendKeypadFacility application as deprecated on usage.
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-13 21:35:37 +00:00
Kevin P. Fleming
d98254b147 document dahdichanname option in doc/asterisk-conf.txt
make chan_dahdi read its configuration from zapata.conf if dahdichanname has been set to 'no'



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@137527 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-13 20:33:47 +00:00
Tilghman Lesher
f2ead6dbc5 Also, parse useincomingcalleridonzaptransfer (and add appropriate deprecation
warnings).


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 01:31:27 +00:00
Tilghman Lesher
d0721c085f For backwards compatibility with previous 1.4 versions which used "zapchan"
in users.conf, ensure that we still support it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@136304 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 01:17:14 +00:00
Kevin P. Fleming
7b61edde36 build against the now-typedef-free dahdi/user.h
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@134254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-29 22:05:57 +00:00
Jason Parker
82e28307c0 inbandrelease is gone - it's now inbanddisconnect
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133295 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 21:49:03 +00:00
Kevin P. Fleming
cd12517eeb make some more changes to the dahdi/zap channel name support stuff to ensure allthe globals are 'const', and clean up mmichelson's changes to app_chanspy to simplify the code
git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 20:42:30 +00:00
Mark Michelson
252c5728fc As suggested by seanbright, the PSEUDO_CHAN_LEN in
app_chanspy should be set at load time, not at compile
time, since dahdi_chan_name is determined at load time.

Also changed the next_unique_id_to_use to have the 
static qualifier.

Also added the dahdi_chan_name_len variable so that
strlen(dahdi_chan_name) isn't necessary. Thanks to
seanbright for the suggestion.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133169 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 19:39:47 +00:00
Mark Michelson
1fbde6a2f3 Small cleanup. Move the declaration of the DAHDI_SPANINFO
variable to the block where it is used. This allows one
less #ifdef HAVE_PRI to clutter things up.

Thanks to Tzafrir for pointing this out on #asterisk-dev



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@133038 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 17:50:01 +00:00
Mark Michelson
32bc585a57 Fix building of chan_dahdi when HAVE_PRI is not
defined.



git-svn-id: https://origsvn.digium.com/svn/asterisk/branches/1.4@132974 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-23 17:05:04 +00:00