dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

38 Commits

Author SHA1 Message Date
lmadsen e73cab2f3f Merged revisions 328247 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

................
  r328247 | lmadsen | 2011-07-14 16:25:31 -0400 (Thu, 14 Jul 2011) | 14 lines
  
  Merged revisions 328209 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r328209 | lmadsen | 2011-07-14 16:13:06 -0400 (Thu, 14 Jul 2011) | 6 lines
    
    Introduce <support_level> tags in MODULEINFO.
    This change introduces MODULEINFO into many modules in Asterisk in order to show
    the community support level for those modules. This is used by changes committed
    to menuselect by Russell Bryant recently (r917 in menuselect). More information about
    the support level types and what they mean is available on the wiki at
    https://wiki.asterisk.org/wiki/display/AST/Asterisk+Module+Support+States
  ........
................


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@328259 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-14 20:28:54 +00:00
rmudgett adbee85b24 Merged revisions 320823 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r320823 | rmudgett | 2011-05-25 12:06:38 -0500 (Wed, 25 May 2011) | 18 lines
  
  The AMI Newstate event contains different information between v1.4 and v1.8.
  
  The addition of connected line support in v1.8 changes the behavior of the
  channel caller ID somewhat.  The channel caller ID value no longer time
  shares with the connected line ID on outgoing call legs.  The timing of
  some AMI events/responses output the connected line ID as caller ID.
  These party ID's are now separate.
  
  * The ConnectedLineNum and ConnectedLineName headers were added to many
  AMI events/responses if the CallerIDNum/CallerIDName headers were also
  present.
  
  (closes issue #18252)
  Reported by: gje
  Tested by: rmudgett
  
  Review: https://reviewboard.asterisk.org/r/1227/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@320825 f38db490-d61c-443f-a65b-d21fe96a405b
2011-05-25 17:14:11 +00:00
pabelanger 6705f03406 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306258 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-04 16:55:39 +00:00
dvossel 4aca3187a3 Asterisk media architecture conversion - no more format bitfields
This patch is the foundation of an entire new way of looking at media in Asterisk.
The code present in this patch is everything required to complete phase1 of my
Media Architecture proposal.  For more information about this project visit the link below.
https://wiki.asterisk.org/wiki/display/AST/Media+Architecture+Proposal

The primary function of this patch is to convert all the usages of format
bitfields in Asterisk to use the new format and format_cap APIs.  Functionally
no change in behavior should be present in this patch.  Thanks to twilson
and russell for all the time they spent reviewing these changes.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@306010 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03 16:22:10 +00:00
rmudgett ad58aa92a2 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: http://svn.digium.com/svn/asterisk/trunk@276347 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-14 15:48:36 +00:00
mnicholson 37bc8c80db Don't pass null to manager_event()
(closes issue #17087)
Reported by: bklang
Patches:
      app-fax-null-sprintf1.diff uploaded by mnicholson (license 96)
Tested by: bklang



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@269083 f38db490-d61c-443f-a65b-d21fe96a405b
2010-06-08 18:50:45 +00:00
mnicholson f90164d3b4 Updated CHANGES file to mention res_fax and res_fax_spandsp.
Also fixed MODULEINFO depends and conflicts for app_fax, res_fax, and res_fax_spandsp.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@250302 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-03 15:39:45 +00:00
tilghman dd12cdbb0e Ensure frames are only freed once.
(closes issue #16361)
 Reported by: vlad
 Patches: 
       20100208__issue16361.diff.txt uploaded by tilghman (license 14)
 Tested by: kenny, bloodoff, misaksen


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@245729 f38db490-d61c-443f-a65b-d21fe96a405b
2010-02-09 18:06:30 +00:00
kpfleming ddf46ba018 Don't offer MMR or JBIG transcoding during T.38 negotiation.
After further discussion with Steve Underwood, we should not (yet) be offering
to receive MMR or JBIG transcoded streams from T.38 endpoints. A future spandsp
release will support those features, and then they can be enabled during
negotiation



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@245680 f38db490-d61c-443f-a65b-d21fe96a405b
2010-02-09 16:24:52 +00:00
kpfleming c495daa3ce spandsp does in fact support V.17 modulation at 14.4 kilobits per second,
so we should generate T38MaxBitRate of 14400 (even though that doesn't really
affect the FAX transmission much at all)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@235010 f38db490-d61c-443f-a65b-d21fe96a405b
2009-12-15 14:35:46 +00:00
kpfleming 5b063ffef9 Fix another buglet in T.38 session teardown at the end of FAX sessions.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230381 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-16 16:40:25 +00:00
kpfleming 7872126dea Ensure that only one end of a T.38 session initiates teardown at completion.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230343 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-16 12:51:59 +00:00
tilghman 317ea2e45d Display a list of channel variables in each channel-oriented event.
(Closes AST-33)
Reviewboard:	https://reviewboard.asterisk.org/r/368/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@230111 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-13 20:42:03 +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
kpfleming ab9e4d6141 Remove automatic switching from T.38 to voice mode in chan_sip.
chan_sip has some code to automatically switch from T.38 mode to voice mode when
a voice frame is written to the channel while it is in T.38 mode; this was
intended to handle the situation when a FAX transmission has ended and the channel
is not yet hung up, but is causing problems at the beginning of FAX sessions as
well when there are still voice frames 'in flight' at the time the T.38 negotiation
completes. This patch removes the automatic switchover, and changes app_fax to
explicitly switch off T.38 mode when the FAX transmission process ends.

(closes issue #16025)
Reported by: jamicque


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@223652 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-12 14:25:29 +00:00
kpfleming a5d47ad2dd Initiate T.38 switchover when acting as called party, regardless of FAX direction.
SendFAX() and ReceiveFAX() can be given options to indicate whether they should
act as the calling or called party; this mode should be used to decide whether
to initiate a switchover to T.38, not the direction that the FAX transfer will
take place.

(closes issue #16039)
Reported by: jamicque


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@223330 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-09 20:58:44 +00:00
kpfleming 48e7babc54 Minor improvements to app_fax.
This patch makes some small changes to handle watchdog timeouts in a better way,
and also uses a 'cleaner' method of including the spandsp header files.

(closes issue #14769)
Reported by: andrew
Patches:
      app_fax-20090406.diff uploaded by andrew (license 240)
      v1-14769.patch uploaded by dimas (license 88)
Tested by: freh, deti, caspy, dimas, sgimeno, Dovid


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@210777 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-06 16:07:15 +00:00
kpfleming 067e38493a Cleanup T.38 negotiation changes.
Convert LOG_NOTICE messages about T.38 negotiation in debug level 1 messages,
clean up some looping logic, and correct an improper use of ast_free() for 
freeing an ast_frame.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209279 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27 21:43:36 +00:00
kpfleming 930c5befcc Make T.38 switchover in ReceiveFAX synchronous.
In receive mode, if the channel that ReceiveFAX is running on supports T.38,
we should *always* attempt to switch T.38, rather than listening for an incoming
CNG tone and only triggering on that. The channel may be using a low-bitrate
codec that distorts the CNG tone, the sending FAX endpoint may not send CNG
at all, or there could be a variety of other reasons that we don't detect it,
but in all those cases if T.38 is available we certainly want to use it.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@209256 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-27 21:21:43 +00:00
kpfleming aa4f4e142d Rework of T.38 negotiation and UDPTL API to address interoperability problems
Over the past couple of months, a number of issues with Asterisk
negotiating (and successfully completing) T.38 sessions with various
endpoints have been found. This patch attempts to address many of
them, primarily focused around ensuring that the endpoints'
MaxDatagram size is honored, and in addition by ensuring that T.38
session parameter negotiation is performed correctly according to the
ITU T.38 Recommendation.

The major changes here are:

1) T.38 applications in Asterisk (app_fax) only generate/receive IFP
packets, they do not ever work with UDPTL packets. As a result of
this, they cannot be allowed to generate packets that would overflow
the other endpoints' MaxDatagram size after the UDPTL stack adds any
error correction information. With this patch, the application is told
the maximum *IFP* size it can generate, based on a calculation using
the far end MaxDatagram size and the active error correction mode on
the T.38 session. The same is true for sending *our* MaxDatagram size
to the remote endpoint; it is computed from the value that the
application says it can accept (for a single IFP packet) combined with
the active error correction mode.

2) All treatment of T.38 session parameters as 'capabilities' in
chan_sip has been removed; these parameters are not at all like
audio/video stream capabilities. There are strict rules to follow for
computing an answer to a T.38 offer, and chan_sip now follows those
rules, using the desired parameters from the application (or channel)
that wants to accept the T.38 negotiation.

3) chan_sip now stores and forwards ast_control_t38_parameters
structures for tracking 'our' and 'their' T.38 session parameters;
this greatly simplifies negotiation, especially for pass-through
calls.

4) Since T.38 negotiation without specifying parameters or receiving
the final negotiated parameters is not very worthwhile, the
AST_CONTROL_T38 control frame has been removed. A note has been added
to UPGRADE.txt about this removal, since any out-of-tree applications
that use it will no longer function properly until they are upgraded
to use AST_CONTROL_T38_PARAMETERS.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@208464 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-23 21:57:24 +00:00
kpfleming 321a959986 Eliminate extraneous LOG_DEBUG messages generated by app_fax.
The transmit_audio() and transmit_t38() functions in app_fax have processing
loops that are supposed to wait for frames to arrive on the channel and then
handle them, but they also have short timeouts so that the loops can have
watchdog timers and do other required processing. This commit changes the loops
to not actually call ast_read() and attempt to process the returned frame
unless a frame actually arrived, eliminating hundreds of LOG_DEBUG messages
and slightly improving performance.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@205780 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-10 16:00:44 +00:00
kpfleming 6f95546080 Fix some remaining T.38 negotiation problems in app_fax.
Revision 205696 did not quite fix all the issues with the T.38 negotiation
changes and app_fax; this patch corrects them, along with a couple of other
minor issues.

(closes issue #15480)
Reported by: dimas
Patches:
      test2-15480.patch uploaded by dimas (license 88)



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@205770 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-10 15:28:11 +00:00
kpfleming 358f6c409e Repair ability of SendFAX/ReceiveFAX to respond to T.38 switchover.
Recent changes in T.38 negotiation in Asterisk caused these applications to
not respond when the other endpoint initiated a switchover to T.38; this
resulted in the T.38 switchover failing, and the FAX attempt to be made
using an audio connection, instead of T.38 (which would usually cause the
FAX to fail completely).

This patch corrects this problem, and the applications will now correctly
respond to the T.38 switchover request. In addition, the response will include
the appopriate T.38 session parameters based on what the other end offered
and what our end is capable of.

(closes issue #14849)
Reported by: afosorio


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@205696 f38db490-d61c-443f-a65b-d21fe96a405b
2009-07-09 21:20:23 +00:00
file c26b86e763 Improve T.38 negotiation by exchanging session parameters between application and channel.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@203699 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-26 19:27:24 +00:00
seanbright 6668be953e Fix version detection for API changes in spandsp.
(closes issue #15355)
Reported by: deuffy


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@202183 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-20 19:09:47 +00:00
kpfleming 0d442a7c2c Enable applications to enable/disable digit and tone detection.
Some applications (notably app_fax) do not need digit detection nor FAX tone
detection while they are running, and if Asterisk is using software DSPs to provide
the detection, this consumes extra CPU cycles that could be better spent on the
actual application. This patch allows applications to query and control the state
of digit and tone detection on a channel, and modifies app_fax to disable them
while the FAX operations are occurring (and re-enable digit detection afterwards).



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201139 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-16 21:10:15 +00:00
kpfleming a2c426f29f Last batch of 'static' qualifiers for module-level global variables.
Fix up modules in the 'apps' directory, and also correct the bad example of
enum definitions in include/asterisk/app.h, which many developers followed
(thanks for reading the documentation!). In addition, add some basic usage
examples of the 'pahole' and 'pglobal' tools to the coding guidelines.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@200656 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-15 19:10:10 +00:00
russell f63398715e Global var cleanup - constification and removing unused vars.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@199479 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-07 14:55:51 +00:00
kpfleming 230a66da7d Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196072 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-21 21:13:09 +00:00
dhubbard eda3be6fb7 Make app_fax compatible with spandsp-0.0.6pre4
Prior to spandsp-0.0.6pre4 the t30_stats_t structure used a pages_transferred
integer to indicate the number of pages transferred (so far) during the fax
session.  The spandsp-0.0.6pre4 release removed the pages_transferred integer
and replaced it with two different integers - pages_tx and pages_rx.  This
revision uses the new integers for spandsp-0.0.6pre4 while maintaining backwards
compatibility for previous spandsp releases.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@177699 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-20 20:29:00 +00:00
file 4e5ba01e6a Make app_fax compatible with newer versions of spandsp. This remains backwards compatible with earlier versions though so do not fret.
(closes issue #14073)
Reported by: seandarcy


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@164257 f38db490-d61c-443f-a65b-d21fe96a405b
2008-12-15 15:41:22 +00:00
russell b1f91b97d2 Merge changes from team/group/appdocsxml
This commit introduces the first phase of an effort to manage documentation of the
interfaces in Asterisk in an XML format.  Currently, a new format is available for
applications and dialplan functions.  A good number of conversions to the new format
are also included.

For more information, see the following message to asterisk-dev:

http://lists.digium.com/pipermail/asterisk-dev/2008-October/034968.html


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@153365 f38db490-d61c-443f-a65b-d21fe96a405b
2008-11-01 21:10:07 +00:00
tilghman 420a6cb303 API differences in spandsp 0.0.6pre1 and higher
(closes issue #13688)
 Reported by: irroot
 Patches: 
       app_fax-span6.patch uploaded by irroot (license 52) with minor modifications by me


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@148868 f38db490-d61c-443f-a65b-d21fe96a405b
2008-10-14 15:15:45 +00:00
qwell a9d19e55cf Add FAXMODE variable with what fax transport was used.
(closes issue #13252)
Patches:
      v1-13252.patch uploaded by dimas (license 88)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@137496 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-13 20:05:50 +00:00
russell cdea52a3de Update app_fax for better compatibility with spandsp 0.0.5. Add a call to
t38_terminal_release, and make sure that the phase E handler gets called
with proper status.

(closes issue #13020)
Reported by: dimas
Patches:
      v1-appfax.patch uploaded by dimas (license 88)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@129006 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-08 14:17:37 +00:00
seanbright 39d405d451 Resurrected app_fax
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122834 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-16 03:33:03 +00:00
jpeeler 490730a6b3 Goodbye Zaptel, hello DAHDI. Removes Zaptel driver support with DAHDI. Configuration file and dialplan backwards compatability has been put in place where appropiate. Release announcement to follow.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@122234 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-12 17:27:55 +00:00
russell 9ec04bdf41 Add app_fax from asterisk-addons, with some additional changes to resolve compiler
warnings, as well as update to the APIs in spandsp 0.0.5.  Spandsp 0.0.5 is being
distributed under the LGPL, so we can move this module into the main tree.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119801 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-02 16:14:15 +00:00