Age | Commit message (Collapse) | Author | Files | Lines |
|
sockets other than RTP ones.
The main change is a new API function in main/rtp.c (see there
for a description)
int ast_stun_request(int s, struct sockaddr_in *dst,
const char *username, struct sockaddr_in *answer)
which can be used to send an STUN request on a socket, and
optionally wait for a reply and store the STUN_MAPPED_ADDRESS
into the 'answer' argument (obviously, the version that
waits for a reply is blocking, but this is no different
from DNS resolutions).
Internally there are minor modifications to let stun_handle_packet()
be somewhat configurable on how to parse the body of responses.
At the moment i am not committing any change to the clients,
but adding STUN client support is extremely simple, e.g. chan_sip.c
could do something like this:
+ add a variable to store the stun server address;
static struct sockaddr_in stunaddr = { 0, }; /*!< stun server address */
+ add code to parse a config file of the form "stunaddr=my.stun.server.org:3478"
(not shown for brevity);
+ right after binding the main sip socket, talk to the stun server to
determine the externally visible address
if (stunaddr.sin_addr.s_addr != 0)
ast_stun_request(sipsock, &stunaddr, NULL, &externip);
so now 'externip' is set with the externally visible address.
so it is really trivial.
Similarly ast_stun_request could be called when creating the RTP
socket (possibly adding a struct sockaddr_in field in the struct
ast_rtp to store the externalip).
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75034 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
+ mark a potentially dangerous write-past-end-of-buffer
+ localize some variables in the block generating stun replies.
As before, not ready yet for a merge to 1.4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@74850 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
ast_rtp_new_with_bindaddr():
1. add comments to the logic of the main loop;
2. use a common exit point on failure so the cleanup is done only in one place;
3. handle failures in rtp_socket() in the main loop of the function;
No functional changes except for #3 above, so it is not yet
worthwhile merging this and other changes to 1.4
Once the cleanup work on this file will be complete (which among
other things should include some extensions to the stun support)
it might be a good thing to push all the changes to 1.4
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@74813 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(which is very little, at the moment).
Eventually, when the functionality is extended, the changes can be merged
back to 1.4. At the moment this is pointless.
Note, this change is whitespace only.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@74571 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r72112 | russell | 2007-06-27 11:34:24 -0500 (Wed, 27 Jun 2007) | 3 lines
Only output debug information related to RTCP timestamps when RTCP debug
is turned on (issue #10066, patch by me)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@72113 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r71915 | qwell | 2007-06-26 15:36:09 -0500 (Tue, 26 Jun 2007) | 4 lines
Don't dereference a pointer that may be NULL here.
Issue 10017.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71916 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71557 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(issue #9984, patches from eliel and dimas)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71338 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71146 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r71063 | murf | 2007-06-22 08:10:24 -0600 (Fri, 22 Jun 2007) | 1 line
My conditions for merging amaflags info was naive; DOCUMENTATION is the default, although null is possible; theft of user-settable fields is not good. Just copy them, leave them alone.
This is for bug 10016. (plus a small fix to rtp, to elim a compiler warning (dev mode))
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@71093 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
Also adds a new "reporting" permission for manager, since it can be incredibly spammy.
This permission was discussed on the -dev mailing list some months back.
Issue 8613, patch by johann8384, with some minor changes by me.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70961 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r70727 | file | 2007-06-21 11:22:39 -0400 (Thu, 21 Jun 2007) | 2 lines
Do not Packet2Packet bridge if packetization settings do not allow it. (issue #9117 reported by phsultan)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70729 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r70360 | file | 2007-06-20 13:52:57 -0400 (Wed, 20 Jun 2007) | 2 lines
Put the speex packetization values back in but disable it when setting up the smoother.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70361 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r70003 | file | 2007-06-19 13:07:40 -0400 (Tue, 19 Jun 2007) | 10 lines
Merged revisions 69992 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r69992 | file | 2007-06-19 13:00:58 -0400 (Tue, 19 Jun 2007) | 2 lines
Handle the CC field in the RTP header. (issue #9384 reported by DoodleHu)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@70006 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r68922 | file | 2007-06-12 10:23:11 -0400 (Tue, 12 Jun 2007) | 10 lines
Merged revisions 68921 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r68921 | file | 2007-06-12 10:18:57 -0400 (Tue, 12 Jun 2007) | 2 lines
Bring RTP back to Asterisk at the end of a native bridge no matter what.
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@68923 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
(issue #9842, snuffy)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@68339 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
guidelines changes
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67864 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r67650 | file | 2007-06-06 09:30:25 -0400 (Wed, 06 Jun 2007) | 10 lines
Merged revisions 67649 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r67649 | file | 2007-06-06 09:28:34 -0400 (Wed, 06 Jun 2007) | 2 lines
Reinvite the RTP back to the Asterisk machine when the timeout happens. (issue #9888 reported by gasparz)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67651 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r67071 | russell | 2007-06-04 16:47:36 -0500 (Mon, 04 Jun 2007) | 2 lines
Add a missing \n. (pointed out by jcmoore on IRC)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@67072 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r66437 | file | 2007-05-29 12:44:34 -0400 (Tue, 29 May 2007) | 2 lines
Handle cases where a frame may have no data. (issue #9519 reported by dmb)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@66438 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65964 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r65863 | file | 2007-05-24 11:08:17 -0400 (Thu, 24 May 2007) | 2 lines
I like it when the RTP stack compiles myself...
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65869 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r65842 | russell | 2007-05-24 09:49:05 -0500 (Thu, 24 May 2007) | 5 lines
Fix the calculation of the RTT for RTCP. The previous code would result in
oscillating and incorrect data. Additionally, the RTT would sometimes report
negative values due to incorrect calculations.
(issue #9601, patch from davetroy)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@65843 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
file doc/qos.tex has been updated to document the new functionality.
(issue #9540, patch submitted by IgorG)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@62457 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r61707 | qwell | 2007-04-20 16:35:27 -0500 (Fri, 20 Apr 2007) | 8 lines
Avoid invalid seqno cycling detection.
Per comment from Dave Troy:
This adds back in some simple typecasting I had in an earlier version
which I realize now may be breaking things.
Issue #9554.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61708 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r61697 | russell | 2007-04-20 15:42:02 -0500 (Fri, 20 Apr 2007) | 2 lines
Remove a stray debug message introduced by a recent commit.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61698 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r61676 | oej | 2007-04-18 22:46:23 +0200 (Wed, 18 Apr 2007) | 2 lines
Clean upp formatting, add some doxygen stuff while we're in cleaning mode... Thanks Kevin!
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61677 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r61674 | oej | 2007-04-18 22:28:53 +0200 (Wed, 18 Apr 2007) | 2 lines
Issue #9554 - Improve RTCP (Dave Troy)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61675 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r59358 | russell | 2007-03-29 12:17:41 -0500 (Thu, 29 Mar 2007) | 13 lines
Merged revisions 59357 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r59357 | russell | 2007-03-29 12:14:33 -0500 (Thu, 29 Mar 2007) | 5 lines
If an error occurs when reading from an RTP socket, and the error code does not
indicate that we should try again, then return NULL instead of a "null frame".
This will prevent Asterisk from trying over and over again, and eventually
causing the system to crash. (issue #8285, john)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59359 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r59207 | russell | 2007-03-26 12:45:55 -0500 (Mon, 26 Mar 2007) | 7 lines
The AUDIORTPQOS and VIDEORTPQOS variables are not fully functional in some
because they get set in sip_hangup. So, there are common situations where
the variables will not be available in the dialplan at all. So, this patch
provides an alternate method for getting to this information by introducing
AUDIORTPQOS and VIDEORTPQOS dialplan functions.
(issue #9370, patch by Corydon76, with some testing by blitzrage)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@59208 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58783 | file | 2007-03-11 21:21:12 -0400 (Sun, 11 Mar 2007) | 2 lines
Allow RFC2833 compensation to compensate for even stupider implementations by queueing up the end frame at the start, not the actual end. (issue #8963 reported by AndrewZ)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58784 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58436 | file | 2007-03-08 13:01:00 -0500 (Thu, 08 Mar 2007) | 2 lines
Make early SDP seeding even smarter! We have to check codecs in the make_compatible function too. (issue #9221 reported by marcelbarbulescu)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58437 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r58240 | file | 2007-03-07 12:52:58 -0500 (Wed, 07 Mar 2007) | 2 lines
Ensure we have (or should have) at least one matching codec before attempting early bridge SDP seeding. (issue #9221 reported by marcelbarbulescu)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@58241 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r57768 | file | 2007-03-04 22:22:17 -0500 (Sun, 04 Mar 2007) | 2 lines
Preserve marker bit when P2P bridging. (issue #9198 reported by edgreenberg)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@57769 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@56665 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
T.140/RFC 2793 is a live communication channel, originally
created for IP based text phones for hearing impaired.
Feels very much like the old Unix talk application.
This code is developed and disclaimed by John Martin of Aupix, UK.
Tested for interoperability by myself and Omnitor in Sweden,
the company that wrote most of the specifications.
A big thank you to everyone involved in this.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@54838 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r53434 | file | 2007-02-07 12:53:03 -0500 (Wed, 07 Feb 2007) | 2 lines
We can not reliably do P2P bridging with DTMF passing back with compensation if we need to listen for DTMF frames. (issue #8962 reported by caio1982)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53435 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r53429 | russell | 2007-02-07 11:39:31 -0600 (Wed, 07 Feb 2007) | 7 lines
When parsing the NTP timestamp in a sender report message, you are supposed to
take the low 16 bits of the integer part, and the high 16 bits of the
fractional part. However, the code here was erroneously taking the low 16 bits
of the fractional part. It then shifted the result 16 bits down, so the result
was always zero. This fix makes it grab the appropriate high 16 bits, instead.
(issue #8991, pointed out by andre_abrantes)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53431 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r53120 | file | 2007-02-02 11:15:22 -0600 (Fri, 02 Feb 2007) | 2 lines
Correct a copy/pasted error message line for RTCP.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53122 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r53052 | file | 2007-01-31 18:24:20 -0600 (Wed, 31 Jan 2007) | 2 lines
When going on hold have the side that was put on hold reinvite back to Asterisk. When going off hold have the side that was taken off hold reinvited back to the other party.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53053 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r53050 | file | 2007-01-31 18:19:48 -0600 (Wed, 31 Jan 2007) | 2 lines
Add more frame types to forward in the RTP bridge loops.
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53051 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
................
r53040 | russell | 2007-01-31 11:45:05 -0600 (Wed, 31 Jan 2007) | 11 lines
Merged revisions 53039 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.2
........
r53039 | russell | 2007-01-31 11:41:51 -0600 (Wed, 31 Jan 2007) | 3 lines
Use the proper format string to print unsigned values in the rtp debug output.
(issue #8954, wmis)
........
................
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@53041 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r52645 | russell | 2007-01-29 15:26:27 -0600 (Mon, 29 Jan 2007) | 6 lines
Fix a problem with packet-to-packet bridging and DTMF mode translation. P2P
bridging can only be used when the DTMF modes don't match if the core is
monitoring DTMF in both directions. Then, the core will handle the translation.
Otherwise, this bridging method can not be used.
(issue #8936)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@52646 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@52635 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
be read so making it use mutex locks was a waste.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51467 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
reported by johann8384)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51463 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r51311 | russell | 2007-01-19 11:49:38 -0600 (Fri, 19 Jan 2007) | 23 lines
Merge the changes from the /team/group/vldtmf_fixup branch.
The main bug being addressed here is a problem introduced when two SIP
channels using SIP INFO dtmf have their media directly bridged. So, when a
DTMF END frame comes into Asterisk from an incoming INFO message, Asterisk
would try to emulate a digit of some length by first sending a DTMF BEGIN
frame and sending a DTMF END later timed off of incoming audio. However,
since there was no audio coming in, the DTMF_END was never generated. This
caused DTMF based features to no longer work.
To fix this, the core now knows when a channel doesn't care about DTMF BEGIN
frames (such as a SIP channel sending INFO dtmf). If this is the case, then
Asterisk will not emulate a digit of some length, and will instead just pass
through the single DTMF END event.
Channel drivers also now get passed the length of the digit to their digit_end
callback. This improves SIP INFO support even further by enabling us to put
the real digit duration in the INFO message instead of a hard coded 250ms.
Also, for an incoming INFO message, the duration is read from the frame and
passed into the core instead of just getting ignored.
(issue #8597, maybe others...)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51314 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
we need is to print is an integer that fits in 16 bits.
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51310 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r51211 | file | 2007-01-17 19:18:44 -0500 (Wed, 17 Jan 2007) | 2 lines
Pass data as well for hold/unhold/vidupdate frames. (issue #8840 reported by mdu113)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51212 f38db490-d61c-443f-a65b-d21fe96a405b
|
|
https://origsvn.digium.com/svn/asterisk/branches/1.4
........
r51182 | file | 2007-01-17 01:36:41 -0500 (Wed, 17 Jan 2007) | 2 lines
Return the correct result when directly writing out a packet so that the core doesn't then decide to handle it the regular way again. (issue #8833 reported by rcourtna)
........
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51183 f38db490-d61c-443f-a65b-d21fe96a405b
|