dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

102 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
twilson f422ffb348 Merged revisions 327682 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r327682 | twilson | 2011-07-11 12:41:59 -0700 (Mon, 11 Jul 2011) | 9 lines
  
  Update chan_gtalk to work with changed GMail-based calls
  
  The messages sent by the GMail client have changed, but include the
  old-style messages as well. This patch checks for this case and
  uses the old-style offer.
  
  (closes issue ASTERISK-18084)
  Review: https://reviewboard.asterisk.org/r/1312/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@327683 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-11 19:49:35 +00:00
tilghman 357b97fb29 Merged revisions 326411 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r326411 | tilghman | 2011-07-05 17:08:29 -0500 (Tue, 05 Jul 2011) | 14 lines
  
  Add the attribute "type" to each "<use>" for menuselect.
  
  This matters only when autoconf fails to detect that weak linking is supported.
  External optional dependencies will become optional in both cases, as they are
  removed at compile time when not detected.  However, runtime-optional modules
  are made mandatory when weak linking is not found.  This change affects only
  the external optional dependencies; previously, they were incorrectly required
  when weak linking support was not detected.
  
  Patches:
  	20110702__issue18062__asterisk_trunk.diff.txt by tilghman (License #5003)
  
  Tested by: iasgoscouk
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@326412 f38db490-d61c-443f-a65b-d21fe96a405b
2011-07-05 22:11:40 +00:00
dvossel f27e928f05 Media Project Phase2: SILK 8khz-24khz, SLINEAR 8khz-192khz, SPEEX 32khz, hd audio ConfBridge, and other stuff
-Functional changes
1. Dynamic global format list build by codecs defined in codecs.conf
2. SILK 8khz, 12khz, 16khz, and 24khz with custom attributes defined in codecs.conf
3. Negotiation of SILK attributes in chan_sip.
4. SPEEX 32khz with translation
5. SLINEAR 8khz, 12khz, 24khz, 32khz, 44.1khz, 48khz, 96khz, 192khz with translation
   using codec_resample.c
6. Various changes to RTP code required to properly handle the dynamic format list
   and formats with attributes.
7. ConfBridge now dynamically jumps to the best possible sample rate.  This allows
   for conferences to take advantage of HD audio (Which sounds awesome)
8. Audiohooks are no longer limited to 8khz audio, and most effects have been
   updated to take advantage of this such as Volume, DENOISE, PITCH_SHIFT.
9. codec_resample now uses its own code rather than depending on libresample.

-Organizational changes
Global format list is moved from frame.c to format.c
Various format specific functions moved from frame.c to format.c

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@308582 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-22 23:04:49 +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
russell c15c0120f1 Some scheduler API cleanup and improvements.
Previously, I had added the ast_sched_thread stuff that was a generic scheduler
thread implementation.  However, if you used it, it required using different
functions for modifying scheduler contents.  This patch reworks how this is
done and just allows you to optionally start a thread on the original scheduler
context structure that has always been there.  This makes it trivial to switch
to the generic scheduler thread implementation without having to touch any of
the other code that adds or removes scheduler entries.

In passing, I made some naming tweaks to add ast_ prefixes where they were not
there before.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@299091 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-20 17:15:54 +00:00
dvossel 35329a45f7 Merged revisions 297957 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r297957 | dvossel | 2010-12-09 15:32:20 -0600 (Thu, 09 Dec 2010) | 11 lines
  
  Fixes issue with outbound google voice calls not working.
  
  Thanks to az1234 and nevermind_quack for their input in helping debug the issue.
  
  (closes issue #18412)
  Reported by: nevermind_quack
  Patches:
        fix uploaded by dvossel (license 671)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@297958 f38db490-d61c-443f-a65b-d21fe96a405b
2010-12-09 21:33:22 +00:00
pabelanger eb8983f14f New CLI command 'gtalk show settings'.
Review: https://reviewboard.asterisk.org/r/984/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@293578 f38db490-d61c-443f-a65b-d21fe96a405b
2010-11-02 15:14:12 +00:00
dvossel aa4083c6cd Merged revisions 291827 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291827 | dvossel | 2010-10-14 16:27:42 -0500 (Thu, 14 Oct 2010) | 18 lines
  
  Safer xml parsing, treat all clients the same, and better local candidate selection.
  
  The gtalk channel driver was doing several unsafe operations
  in regards to how it parsed incoming XML messages.  I have cleaned
  that code up so it should be much safer now.
  
  We now treat all clients types the same.  We have no reason to
  distinguish between GMAIL and GOOGLE VOICE clients anymore because
  they all work the same way.
  
  I also modified how the local ip is found.  If no bindaddress is provided
  in the config file, we attempt to determine the local ip we
  would use to connect to google.com.  If that fails, then
  we fall back to the ast_find_ourip() function as a last resort.
  Using the new method makes it much less likely that we would ever
  advertise a local RTP candidate as a loopback address.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@291828 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-14 21:29:04 +00:00
pabelanger 691cd93663 Merged revisions 291758 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291758 | pabelanger | 2010-10-14 11:15:12 -0400 (Thu, 14 Oct 2010) | 11 lines
  
  Add the ability for ast_find_ourip to return IPv4, IPv6 or both.
  
  While testing chan_gtalk I noticed jabber was using my IPv6 address
  and not IPv4. When using bindaddr=0.0.0.0 it is possible for ast_find_ourip()
  to return both IPv6 and IPv4 results.  Adding a family parameter gives you
  the ablility to choose.
  
  Since jabber/gtalk/h323 do not support IPv6, we should only return IPv4 results.
  
  Review: https://reviewboard.asterisk.org/r/973/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@291760 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-14 15:21:42 +00:00
dvossel 4733722e9d Merged revisions 291578 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291578 | dvossel | 2010-10-13 17:46:34 -0500 (Wed, 13 Oct 2010) | 4 lines
  
  More fixup for chan_gtalk.
  
  This patch makes the xml parsing safer.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@291579 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-13 22:47:35 +00:00
dvossel 59f0ada67e Merged revisions 291192 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r291192 | dvossel | 2010-10-11 16:38:39 -0500 (Mon, 11 Oct 2010) | 19 lines
  
  Gtalk enhancements and general code cleanup.
  
  This patch includes several chan_gtalk enhancements.
  Two new gtalk.conf options have been added, externip
  and stunadd.  Setting externip allows us to
  manually specify what the external IP address is
  outside of a NAT environment.  Setting the stunaddr
  option to a valid stun server allows for that external
  ip to be retrieved via a STUN server automatically.  This
  external IP is then advertised during call setup as
  a possible candidate.
  
  I have also attempted to clean up chan_gtalk's code
  so it meets our coding guidelines. During this cleanup
  I noticed several things that need to be done in the
  code and made a TODO section at the top of the file.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@291193 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-11 21:39:37 +00:00
dvossel b0a2508ae8 Merged revisions 290973 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290973 | dvossel | 2010-10-08 15:44:59 -0500 (Fri, 08 Oct 2010) | 12 lines
  
  Make outbound Google Voice calls.
  
  This patch allows for outbound Google Voice calls to be
  dialed from Asterisk using chan_gtalk. Below is an example
  dialstring.
  
  exten -> blah,1,Dial(Gtalk/asterisk/+15552225555@voice.google.com,,)
  
  In this example, 'asterisk' is the jabber.conf profile configured
  to connect to your gmail account. In order to receive Google Voice
  calls make sure to enable 'allowguest=yes' in gtalk.conf.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290974 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-08 20:45:49 +00:00
dvossel 6940b2504a Merged revisions 290829 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290829 | dvossel | 2010-10-07 17:38:05 -0500 (Thu, 07 Oct 2010) | 6 lines
  
  Add Philippe Sultan to chan_gtalk author list.
  
  Philippe has made some notable contributions to the
  gtalk channel driver.  His name deserves to be listed
  amoung the authors of that file.  Thanks Philippe!
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290831 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-07 22:39:29 +00:00
dvossel ec57a8ef47 Merged revisions 290828 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290828 | dvossel | 2010-10-07 16:44:58 -0500 (Thu, 07 Oct 2010) | 5 lines
  
  Outbound gtalk calls now work correctly.
  
  There was a problem with how the candidates were being
  built on an outbound call. This patch fixes that.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290830 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-07 22:38:36 +00:00
dvossel ebe5a27c15 Merged revisions 290674 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290674 | dvossel | 2010-10-06 16:22:51 -0500 (Wed, 06 Oct 2010) | 4 lines
  
  Fixes commented out code to use #if 0 instead.
  
  Thanks to rmudgett for catching this!
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290677 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-06 21:23:29 +00:00
dvossel eabdc6b5aa Merged revisions 290648 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290648 | dvossel | 2010-10-06 16:08:19 -0500 (Wed, 06 Oct 2010) | 12 lines
  
  Fixes gtalk outbound DTMF to work properly.
  
  Outbound DTMF with gtalk needs to be done within the RTP stream.  I discovered
  this after investigating a packet capture from the gmail client.  Instead of
  performing jingle signaling DTMF, the gtalk servers expect all DTMF to arrive
  on the RTP stream using RFC2833 way of doing things.  Chan_gtalk also had an issue
  with negotiating RTP payload type 106 for the telephony-event and then sending
  DTMF as payload 101.  This has been resolved by always negotiating 101 as the payload
  type like we do everywhere else.  With this patch, incoming google voice calls forwarded
  to Asterisk via gtalk work.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290649 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-06 21:09:14 +00:00
dvossel 16e41447ae Merged revisions 290479 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r290479 | dvossel | 2010-10-05 17:00:43 -0500 (Tue, 05 Oct 2010) | 6 lines
  
  Fixes chan_gtalk to work with gmail client
  
  This patch was written by Philippe Sultan (phsultan). Thanks
  for keeping this up to date!
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@290480 f38db490-d61c-443f-a65b-d21fe96a405b
2010-10-05 22:01:52 +00:00
tilghman 771cdeecd1 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278132 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-20 19:35:02 +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
rmudgett b502005acd Fix calls of ast_sockaddr_from_sin() from IPv6 integration.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@274828 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-08 23:46:20 +00:00
mmichelson c3c2e5edfd Add IPv6 to Asterisk.
This adds a generic API for accommodating IPv6 and IPv4 addresses
within Asterisk. While many files have been updated to make use of the
API, chan_sip and the RTP code are the files which actually support
IPv6 addresses at the time of this commit. The way has been paved for
easier upgrading for other files in the near future, though.

Big thanks go to Simon Perrault, Marc Blanchet, and Jean-Philippe Dionne
for their hard work on this.

(closes issue #17565)
Reported by: russell
Patches: 
      asteriskv6-test-report.pdf uploaded by russell (license 2)

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@274783 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-08 22:08:07 +00:00
dvossel 3b12e80473 fixes adaptive jitterbuffer configuration
When configuring the adaptive jitterbuffer, the target_extra
value not only could not be set from the configuration, but was
not even being set to its proper default.  This value is required
in order for the adaptive jitterbuffer to work correctly.  To resolve
this a config option has been added to expose this value to the conf
files, and a default value is provided when no config specific value
is present.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@249893 f38db490-d61c-443f-a65b-d21fe96a405b
2010-03-02 19:08:38 +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
phsultan 5bec5836a0 Add JABBER_RECEIVE as a dialplan function, implement SendText in Jingle channels
JABBER_RECEIVE (along with JabberSend) makes Asterisk interact with users over
XMPP to process calls.
SendText can be used instead of JabberSend in the context of XMPP based voice
channels (chan_gtalk and chan_jingle).

(closes issue #12569)
Reported by: eech55
Tested by: phsultan, asannucci, lmadsen, jtodd, maxgo

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220457 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-25 10:54:42 +00:00
russell 199ef7e3d8 Always specify which RTP engine is desired for a new RTP instance.
This fixes a crash reported in #asterisk-dev where chan_mgcp unexpectedly
allocated an RTP instance from res_rtp_multicast, since by not specifying an
engine, you get the first one in the list of engines.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@211732 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-12 10:11:36 +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
seanbright 79a81d8116 Don't crash if an RTP instance can't be created. This could occur when an
invalid bindaddr was specified in gtalk.conf.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@196381 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-22 20:01:11 +00:00
russell 89175b7e04 Convert the ast_channel data structure over to the astobj2 framework.
There is a lot that could be said about this, but the patch is a big 
improvement for performance, stability, code maintainability, 
and ease of future code development.

The channel list is no longer an unsorted linked list.  The main container 
for channels is an astobj2 hash table.  All of the code related to searching 
for channels or iterating active channels has been rewritten.  Let n be 
the number of active channels.  Iterating the channel list has gone from 
O(n^2) to O(n).  Searching for a channel by name went from O(n) to O(1).  
Searching for a channel by extension is still O(n), but uses a new method 
for doing so, which is more efficient.

The ast_channel object is now a reference counted object.  The benefits 
here are plentiful.  Some benefits directly related to issues in the 
previous code include:

1) When threads other than the channel thread owning a channel wanted 
   access to a channel, it had to hold the lock on it to ensure that it didn't 
   go away.  This is no longer a requirement.  Holding a reference is 
   sufficient.

2) There are places that now require less dealing with channel locks.

3) There are places where channel locks are held for much shorter periods 
   of time.

4) There are places where dealing with more than one channel at a time becomes 
   _MUCH_ easier.  ChanSpy is a great example of this.  Writing code in the 
   future that deals with multiple channels will be much easier.

Some additional information regarding channel locking and reference count 
handling can be found in channel.h, where a new section has been added that 
discusses some of the rules associated with it.

Mark Michelson also assisted with the development of this patch.  He did the 
conversion of ChanSpy and introduced a new API, ast_autochan, which makes it 
much easier to deal with holding on to a channel pointer for an extended period 
of time and having it get automatically updated if the channel gets masqueraded.
Mark was also a huge help in the code review process.

Thanks to David Vossel for his assistance with this branch, as well.  David 
did the conversion of the DAHDIScan application by making it become a wrapper 
for ChanSpy internally.

The changes come from the svn/asterisk/team/russell/ast_channel_ao2 branch.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190423 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-24 14:04:26 +00:00
file f52aa65700 Fix some uninitialized memory notices that appeared under valgrind.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187772 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10 18:02:44 +00:00
file 0eb1480fe0 Merge in the RTP engine API.
This API provides a generic way for multiple RTP stacks to be
integrated into Asterisk. Right now there is only one present, res_rtp_asterisk,
which is the existing Asterisk RTP stack. Functionality wise this commit
performs the same as previously. API documentation can be viewed in the
rtp_engine.h header file.

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186078 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-02 17:20:52 +00:00
dbrooks 16db281b45 Merged revisions 185362 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r185362 | dbrooks | 2009-03-31 11:37:12 -0500 (Tue, 31 Mar 2009) | 35 lines
  
  Fix incorrect parsing in chan_gtalk when xmpp contains extra whitespaces
  
  To drill into the xmpp to find the capabilities between channels, chan_gtalk 
  calls iks_child() and iks_next(). iks_child() and iks_next() are functions in 
  the iksemel xml parsing library that traverse xml nodes. The bug here is that 
  both iks_child() and iks_next() will return the next iks_struct node 
  *regardless* of type. chan_gtalk expects the next node to be of type IKS_TAG, 
  which in most cases, it is, but in this case (a call being made from the 
  Empathy IM client), there exists iks_struct nodes which are not IKS_TAG data 
  (they are extraneous whitespaces), and chan_gtalk doesn't handle that case, 
  so capabilities don't match, and a call cannot be made.
  
  iks_first_tag() and iks_next_tag(), on the other hand, will not return the 
  very next iks_struct, but will check to see if the next iks_struct is of 
  type IKS_TAG. If it isn't, it will be skipped, and the next struct of type 
  IKS_TAG it finds will be returned. This assures that chan_gtalk will find 
  the iks_struct it is looking for.
  
  This fix simply changes all calls to iks_child() and iks_next() to become 
  calls to iks_first_tag() and iks_next_tag(), which resolves the capability 
  matching.
  
  The following is a payload listing from Empathy, which, due to the extraneous 
  whitespace, will not be parsed correctly by iksemel:
  
  <iq from='dbrooksjab@235-22-24-10/Telepathy' to='astjab@235-22-24-10/asterisk' type='set' id='542757715704'> <session xmlns='http://www.google.com/session' initiator='dbrooksjab@235-22-24-10/Telepathy' type='initiate' id='1837267342'> <description xmlns='http://www.google.com/session/phone'> <payload-type clockrate='16000' name='speex' id='96'/>
   <payload-type clockrate='8000' name='PCMA' id='8'/>
   <payload-type clockrate='8000' name='PCMU' id='0'/>
   <payload-type clockrate='90000' name='MPA' id='97'/>
   <payload-type clockrate='16000' name='SIREN' id='98'/>
   <payload-type clockrate='8000' name='telephone-event' id='99'/>
  </description>
  </session>
  </iq>

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@185363 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-31 16:46:57 +00:00
phsultan ff056adc90 Issue a warning message if our candidate's IP is the loopback address.
(closes issue #13985)
Reported by: jcovert
Tested by: phsultan


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@175089 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-12 14:25:03 +00:00
phsultan 969f1ab4c6 Merged revisions 175029 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r175029 | phsultan | 2009-02-12 11:16:21 +0100 (Thu, 12 Feb 2009) | 12 lines

Set the initiator attribute to lowercase in our replies when receiving calls.

This attribute contains a JID that identifies the initiator of the GoogleTalk
voice session. The GoogleTalk client discards Asterisk's replies if the 
initiator attribute contains uppercase characters.

(closes issue #13984)
Reported by: jcovert
Patches:
      chan_gtalk.2.patch uploaded by jcovert (license 551)
Tested by: jcovert

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@175058 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-12 10:31:36 +00:00
tilghman 95bae85759 Create a new config file status, CONFIG_STATUS_FILEINVALID for differentiating
when a file is invalid from when a file is missing.  This is most important when
we have two configuration files.  Consider the following example:

Old system:
sip.conf     users.conf     Old result               New result
========     ==========     ==========               ==========
Missing      Missing        SIP doesn't load         SIP doesn't load
Missing      OK             SIP doesn't load         SIP doesn't load
Missing      Invalid        SIP doesn't load         SIP doesn't load
OK           Missing        SIP loads                SIP loads
OK           OK             SIP loads                SIP loads
OK           Invalid        SIP loads incompletely   SIP doesn't load
Invalid      Missing        SIP doesn't load         SIP doesn't load
Invalid      OK             SIP doesn't load         SIP doesn't load
Invalid      Invalid        SIP doesn't load         SIP doesn't load

So in the case when users.conf doesn't load because there's a typo that
disrupts the syntax, we may only partially load users, instead of failing with
an error, which may cause some calls not to get processed.  Worse yet, the old
system would do this with no indication that anything was even wrong.

(closes issue #10690)
 Reported by: dtyoo
 Patches: 
       20080716__bug10690.diff.txt uploaded by Corydon76 (license 14)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@142992 f38db490-d61c-443f-a65b-d21fe96a405b
2008-09-12 23:30:03 +00:00
phsultan d312de7732 Fix two memory leaks in chan_gtalk, thanks Eliel!
(closes issue #13310)
Reported by: eliel
Patches:
      chan_gtalk.c.patch uploaded by eliel (license 64)

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@139281 f38db490-d61c-443f-a65b-d21fe96a405b
2008-08-21 09:55:31 +00:00
bbryant 8e222897e6 Janitor patch to change uses of sizeof to ARRAY_LEN
(closes issue #13054)
Reported by: pabelanger
Patches:
      ARRAY_LEN.patch2 uploaded by pabelanger (license 224)
Tested by: seanbright


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@130129 f38db490-d61c-443f-a65b-d21fe96a405b
2008-07-11 18:09:35 +00:00
phsultan 00235849a0 Do not link the guest account with any configured XMPP client (in
jabber.conf). The actual connection is made when a call comes in
Asterisk.

Apply this fix to Jingle too.

Fix the ast_aji_get_client function that was not able to retrieve an
XMPP client from its JID.

(closes issue #12085)
Reported by: junky
Tested by: phsultan


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@119741 f38db490-d61c-443f-a65b-d21fe96a405b
2008-06-02 14:35:24 +00:00
phsultan 5f862e6853 - remove whitespaces between tags in received XML packets before giving
them to the parser ;
- report Gtalk error messages from a buddy to the console.

This patch makes Asterisk "Google Jingle" (chan_gtalk) implementation
work with Empathy. Note that this is only true for audio streams, not
video.

Thank you to PH for his great help!

(closes issue #12647)
Reported by: PH
Patches:
      trunk-12647-1.diff uploaded by phsultan (license 73)
Tested by: phsultan, PH

git-svn-id: http://svn.digium.com/svn/asterisk/trunk@118020 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-23 10:33:21 +00:00
mvanbaak c1210321e7 - revert change to ast_queue_hangup and create ast_queue_hangup_with_cause
- make data member of the ast_frame struct a named union instead of a void

Recently the ast_queue_hangup function got a new parameter, the hangupcause
Feedback came in that this is no good and that instead a new function should be created.
This I did.

The hangupcause was stored in the seqno member of the ast_frame struct. This is not very
elegant, and since there's already a data member that one should be used.
Problem is, this member was a void *.
Now it's a named union so it can hold a pointer, an uint32 and there's a padding in case someone
wants to store another type in there in the future.

This commit is so massive, because all ast_frame.data uses have to be
altered to ast_frame.data.data

Thanks russellb and kpfleming for the feedback.

(closes issue #12674)
Reported by: mvanbaak


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@117802 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-22 16:29:54 +00:00
tilghman e90098c53d Merged revisions 114708 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r114708 | tilghman | 2008-04-27 23:47:39 -0500 (Sun, 27 Apr 2008) | 5 lines

When modules are embedded, they take on a different name, without the ".so"
extension.  Specifically check for this name, when we're checking if a module
is loaded.
(Closes issue #12534)

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114709 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-28 04:53:20 +00:00
mvanbaak 94979a8bde Pass the hangup cause all the way to the calling app/channel.
(closes issue #11328)
Reported by: rain
Patches:
      20071207__pass_cause_in_hangup_control_frame.diff.txt uploaded by Corydon76 (license 14)
brought up-to-date to trunk by me


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114637 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-24 22:16:48 +00:00
jpeeler 11ee51ef7d (closes issue #6113)
Reported by: oej
Tested by: jpeeler

This patch implements multiple parking lots for parked calls. The default parkinglot is used by default, however setting the channel variable PARKINGLOT in the dialplan will allow use of any other configured parkinglot. See configs/features.conf.sample for more details on setting up another non-default parkinglot. Also, one can (currently) set the default parkinglot to use in the driver configuration file via the parkinglot option.

Patch initially written by oej, brought up to date and finalized by mvanbaak, and then stabilized and converted to astobj2 by me.



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@114487 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-21 23:42:45 +00:00
phsultan f3fb6465c2 Merged revisions 112820 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112820 | phsultan | 2008-04-04 21:26:15 +0200 (Fri, 04 Apr 2008) | 1 line

Free newly allocated channel before returning
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@112821 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-04 19:28:49 +00:00
phsultan 6e064a3ce3 Merged revisions 112766 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r112766 | phsultan | 2008-04-04 19:16:59 +0200 (Fri, 04 Apr 2008) | 7 lines

Prevent call connections when codecs don't match.

(closes issue #10604)
Reported by: keepitcool
Patches:
      branch-1.4-10604-2.diff uploaded by phsultan (license 73)
Tested by: phsultan
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@112785 f38db490-d61c-443f-a65b-d21fe96a405b
2008-04-04 17:32:46 +00:00
qwell 66bf01460c Merged revisions 107714 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r107714 | qwell | 2008-03-11 15:49:56 -0500 (Tue, 11 Mar 2008) | 5 lines

Copy voicemail dependency logic for res_adsi to chan_gtalk and chan_jingle (for jabber).

(closes issue #12014)
Reported by: junky

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@107718 f38db490-d61c-443f-a65b-d21fe96a405b
2008-03-11 20:53:48 +00:00
phsultan f0e3312098 Remove unnecessary if statements before calling iks_delete (redundant check is
done inside iks_delete), thus making the code conform with coding guidelines.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@105263 f38db490-d61c-443f-a65b-d21fe96a405b
2008-02-29 14:15:03 +00:00
phsultan 52031edff5 Merged revisions 97489 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r97489 | phsultan | 2008-01-09 17:44:24 +0100 (Wed, 09 Jan 2008) | 7 lines

Set the caller id within the gtalk_alloc function.

As underlined in issue #10437 by Josh, we need to prevent a possible
memory leak. We only set the name part of the caller id, the number
part is not relevant when dealing with JIDs.

Closes issue #11549.
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@97490 f38db490-d61c-443f-a65b-d21fe96a405b
2008-01-09 16:59:09 +00:00
oej d0bcdac211 Manager events from the "moremanager" branch
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@89706 f38db490-d61c-443f-a65b-d21fe96a405b
2007-11-27 19:50:12 +00:00