dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

20 Commits

Author SHA1 Message Date
tilghman 5081871fa4 Merged revisions 221776 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221776 | tilghman | 2009-10-01 18:53:12 -0500 (Thu, 01 Oct 2009) | 2 lines
  
  Fix a bunch of off-by-one errors
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221777 f38db490-d61c-443f-a65b-d21fe96a405b
2009-10-01 23:59:15 +00:00
twilson b8e1d3fe36 Use rtp properties instead of adding a callback
Thanks, Josh.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221278 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 18:21:03 +00:00
twilson bc354c76f4 Merged revisions 221086 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r221086 | twilson | 2009-09-30 09:49:11 -0500 (Wed, 30 Sep 2009) | 25 lines
  
  Change the SSRC by default when our media stream changes
  
  Be default, change SSRC when doing an audio stream changes Asterisk doesn't
  honor marker bit when reinvited to already-bridged RTP streams,resulting in
  far-end stack discarding packets with "old" timestamps that areactually part of
  a new stream.  This patch sends AST_CONTROL_SRCUPDATE whenever there is a
  reinvite, unless the 'constantssrc' is set to true in sip.conf.
  
  The original issue reported to Digium support detailed the following situation:
  ITSP <-> Asterisk 1.4.26.2 <-> SIP-based Application Server Call comes in
  fromITSP, Asterisk dials the app server which sends a re-invite back
  toAsterisk--not to negotiate to send media directly to the ITSP, but to
  indicatethat it's changing the stream it's sending to Asterisk.  The app
  servergenerates a new SSRC, sequence numbers, timestamps, and sets the marker
  bit on the new stream.  Asterisk passes through the teimstamp of the new stream,
  butdoes not reset the SSRC, sequence numbers, or set the marker bit.
  
  When the timestamp on the new stream is older than the timestamp on the
  originalstream, the ITSP (which doesn't know there has been any change) discards
  the newframes because it thinks they are too old.  This patch addresses this by
  changing the SSRC on a stream update unless constantssrc=true is set in
  sip.conf.
  
  Review: https://reviewboard.asterisk.org/r/374/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@221266 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-30 17:52:30 +00:00
mmichelson 20a1feb888 Get rid of annoying and cryptic debug messages.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@220920 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-29 20:20:48 +00:00
file 5a6957c04a Add two more API calls for getting the current glue and channel in bridging code.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212390 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-16 19:27:39 +00:00
file 3b081ef0ff Add an API call for retrieving the engine in use by an RTP instance.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@212161 f38db490-d61c-443f-a65b-d21fe96a405b
2009-08-13 16:44:54 +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
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
file 6271d5fe30 Add support for allowing an RTP engine to decide on whether it is possible for specific formats to be transcoded for an RTP instance.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201902 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-19 15:41:24 +00:00
mmichelson 90de52f0b7 Trunk implementation of setting an alternate RTP source.
This contains the interface by which we can let an rtp instance know
that it might start receiving audio from a new source. This is similar
in nature to revision 197588 of Asterisk 1.4.

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



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@201583 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-18 15:20:17 +00:00
file 260086dc5a Fix a bug where we were passing in address information that should remain unmodified to a function that may modify it.
(closes issue #15243)
Reported by: pj


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@198762 f38db490-d61c-443f-a65b-d21fe96a405b
2009-06-02 13:12:59 +00:00
russell 3428bd4097 Don't do a pointer comparison before setting the remote address.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@197338 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-27 22:42:15 +00:00
file 52981a18a2 Merged revisions 195095 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r195095 | file | 2009-05-18 10:53:39 -0300 (Mon, 18 May 2009) | 5 lines
  
  Fix a bug where the codecs of the called party leg were not properly sent back to the caller call leg when reinvited.
  
  (closes issue #13569)
  Reported by: bkw918
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@195096 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-18 13:56:16 +00:00
russell 336c0408ef Resolve Solaris build issues and add some API documentation.
(issue #14981)
Reported by: snuffy


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@190989 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-29 08:51:21 +00:00
file 90e787d30c Change how we set the local and remote address.
The code will now only change the address and port. It will not overwrite any other values.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187773 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-10 18:14:47 +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 a81a0d84a7 Fix a bug where we would native bridge when we did not want to.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187108 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-08 18:12:28 +00:00
file eca1ae36e1 Turn a warning message into a debug message and do not treat two situations as errors when they are not.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@187036 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-08 16:27:36 +00:00
file c1a373b82e Pass the correct value to sizeof when copying address information.
(issue #14827)
Reported by: pj
Patches:
      14827.diff uploaded by file (license 11)
Tested by: pj


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@186563 f38db490-d61c-443f-a65b-d21fe96a405b
2009-04-06 13:23:12 +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