Commit graph

12391 commits

Author SHA1 Message Date
Jason Parker
89acafbf37 Merged revisions 75732 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75732 | qwell | 2007-07-18 15:17:27 -0500 (Wed, 18 Jul 2007) | 1 line

Umm, why are we transmitting dialtone on cfwdall?
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75734 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 20:18:00 +00:00
Jason Parker
4f22126365 Merged revisions 75711 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #9245)
........
r75711 | qwell | 2007-07-18 14:54:32 -0500 (Wed, 18 Jul 2007) | 4 lines

Fixes for 7935/7936 conference phones.

Issue 9245, patch by slimey.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75714 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 20:05:45 +00:00
Joshua Colp
bc2bd11dff Blocked revisions 75712 via svnmerge
........
r75712 | file | 2007-07-18 17:00:23 -0300 (Wed, 18 Jul 2007) | 2 lines

Backport GCC 4.2 fixes. Without these Asterisk won't build under devmode using GCC 4.2.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75713 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 20:01:52 +00:00
Jason Parker
a1b2a23b4d Merged revisions 75707 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

(closes issue #9887)
........
r75707 | qwell | 2007-07-18 14:48:12 -0500 (Wed, 18 Jul 2007) | 4 lines

Fix issues with new 79x1 phones.

Issue 9887, patches by DEA

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75710 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:51:18 +00:00
Russell Bryant
707ca59923 convert some lines indented with spaces to tabs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75709 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:50:21 +00:00
Tilghman Lesher
81bc1d7af5 Merge in ast_strftime branch, which changes timestamps to be accurate to the microsecond, instead of only to the second
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75706 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 19:47:20 +00:00
Dwayne M. Hubbard
b96fde308c Merged revisions 75658 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75658 | dhubbard | 2007-07-18 12:56:30 -0500 (Wed, 18 Jul 2007) | 9 lines

Merged revisions 75657 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75657 | dhubbard | 2007-07-18 12:48:33 -0500 (Wed, 18 Jul 2007) | 1 line

removed the word 'pissed' from ast_log(...) function call for BE-90
........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75659 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 17:59:56 +00:00
Joshua Colp
a23feea9d2 Merged revisions 75623 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75623 | file | 2007-07-18 12:44:02 -0300 (Wed, 18 Jul 2007) | 2 lines

Few more places that needs to check for onhold state.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75624 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 15:45:18 +00:00
Joshua Colp
d90bddfa6c Merged revisions 75621 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75621 | file | 2007-07-18 12:41:06 -0300 (Wed, 18 Jul 2007) | 5 lines

(closes issue #10165)
Reported by: elandivar

It is possible for hold status to exist without call limits set, so we need to ensure update_call_counter is executed regardless.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75622 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 15:42:11 +00:00
Joshua Colp
e2b0f321a3 Merged revisions 75619 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75619 | file | 2007-07-18 12:25:45 -0300 (Wed, 18 Jul 2007) | 2 lines

Don't bother reloading chan_h323 if it did not load successfully in the first place. This would otherwise cause a crash.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75620 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 15:26:52 +00:00
Joshua Colp
0772f62be7 Clean up func_curl a bit.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75586 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 14:59:20 +00:00
Steve Murphy
5ac24b25d3 This corrects the problem with flags and %lld formats on 64-bit machines, where uint64_t is NOT acceptable for %lld, and also works on 32-bit machines. At least, with gcc.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75585 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 14:35:07 +00:00
Joshua Colp
674dbeb0cf Merged revisions 75583 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75583 | file | 2007-07-18 11:18:53 -0300 (Wed, 18 Jul 2007) | 5 lines

(closes issue #10224)
Reported by: irroot

Record the threadid of each running thread before shutting them down as the thread themselves may change the value.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 14:20:19 +00:00
Joshua Colp
4003b31fc5 Minor code tweaks. Variables were being checked wrong in some situations and didn't need to be checked in others.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75566 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 13:59:01 +00:00
Tilghman Lesher
2c5a07bf03 Merged revisions 75529 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75529 | tilghman | 2007-07-18 07:29:41 -0500 (Wed, 18 Jul 2007) | 2 lines

Using a freed frame causes crashes (closes issue #9317)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75530 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-18 12:38:36 +00:00
Steve Murphy
8b0b74c9b0 Spotted this bug today myself, trying to reproduce a BE bug. Use a vert bar instead of a comma, when calling RAND.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75505 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 21:52:51 +00:00
Russell Bryant
91e2afe4e7 Merged revisions 75450 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75450 | russell | 2007-07-17 15:57:56 -0500 (Tue, 17 Jul 2007) | 11 lines

Merged revisions 75449 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75449 | russell | 2007-07-17 15:57:09 -0500 (Tue, 17 Jul 2007) | 3 lines

Properly check for the length in the skinny packet to prevent an invalid memcpy.
(ASA-2007-016)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75451 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:58:40 +00:00
Russell Bryant
28ab081704 Blocked revisions 75447 via svnmerge
........
r75447 | russell | 2007-07-17 15:51:25 -0500 (Tue, 17 Jul 2007) | 1 line

cast arguments to ast_log so that it builds without warnings for me
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75448 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:52:20 +00:00
Russell Bryant
b5ff588044 Merged revisions 75445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75445 | russell | 2007-07-17 15:48:21 -0500 (Tue, 17 Jul 2007) | 13 lines

Merged revisions 75444 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75444 | russell | 2007-07-17 15:45:27 -0500 (Tue, 17 Jul 2007) | 5 lines

Ensure that when encoding the contents of an ast_frame into an iax_frame, that
the size of the destination buffer is known in the iax_frame so that code
won't write past the end of the allocated buffer when sending outgoing frames.
(ASA-2007-014)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75446 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:49:09 +00:00
Joshua Colp
54bd38f1ce Blocked revisions 75439 via svnmerge
........
r75439 | file | 2007-07-17 17:40:57 -0300 (Tue, 17 Jul 2007) | 2 lines

Ensure that the pointer to STUN data does not go to unaccessible memory. (ASA-2007-017)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75443 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:44:55 +00:00
Russell Bryant
681e45f0b2 Merged revisions 75441 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75441 | russell | 2007-07-17 15:42:12 -0500 (Tue, 17 Jul 2007) | 12 lines

Merged revisions 75440 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75440 | russell | 2007-07-17 15:41:41 -0500 (Tue, 17 Jul 2007) | 4 lines

After parsing information elements in IAX frames, set the data length to zero,
so that code later on does not think it has data to copy.
(ASA-2007-015)

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75442 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:42:50 +00:00
Russell Bryant
94ee350ca9 Blocked revisions 75437 via svnmerge
........
r75437 | russell | 2007-07-17 15:33:06 -0500 (Tue, 17 Jul 2007) | 8 lines

(issue #10210)
Reported by: juggie
Patches:
      10210-1.4-grr.patch uploaded by juggie (license #24)
Tested by: juggie, blitzrage

Log a warning if someone uses DeadAGI on a live channel.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75438 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:34:52 +00:00
Mark Michelson
ee6d59eef2 Merged revisions 75405 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75405 | mmichelson | 2007-07-17 15:03:48 -0500 (Tue, 17 Jul 2007) | 6 lines

Fixing an error I made earlier. ast_fileexists can return -1 on failure, so I need to be sure that we only enter the if
statement if it is successful.

Related to my fix to issue #10186


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75406 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:05:19 +00:00
Russell Bryant
9ffd55b6f9 Merged revisions 75403 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75403 | russell | 2007-07-17 15:01:12 -0500 (Tue, 17 Jul 2007) | 12 lines

(closes issue #10209)
Reported by: juggie
Patches:
      10209-trunk-2.patch uploaded by juggie
Tested by: juggie, blitzrage

In ast_pbx_run(), mark a channel as hung up after an application returned -1, 
or when it runs out of extensions to execute.  This is so that code can detect
that this channel has been hung up for things like making sure DeadAGI is used
on actual dead channels, and is beneficial for other things, like making sure
someone doesn't try to start spying on a channel that is about to go away.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75404 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 20:01:54 +00:00
Russell Bryant
7743bed9f6 Merged revisions 75401 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75401 | russell | 2007-07-17 14:45:07 -0500 (Tue, 17 Jul 2007) | 3 lines

Remove a duplicated newline character in AGI debug output.
(closes issue #10207, patch by seanbright)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75402 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 19:46:13 +00:00
Steve Murphy
8a7732f067 via 10206, I have added an option (e) to Dial to allow the h exten to get run on peer. Had to upgrade ast_flag stuff to 64 bits to do this.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75400 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 19:40:29 +00:00
Joshua Colp
dfc9970e15 Make trunk build once again.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 14:48:17 +00:00
Luigi Rizzo
72b99a2817 Introduce ast_parse_arg() , a generic function to parse strings
in a consistent way. This is meant to replace the custom code
which is repeated all over the place in the various files when
parsing config files, CLI entries and other string information.

Right now the code supports parsing int32, uint32 and sockaddr_in with
optional default values and bound checks. It contains minimal error
checking, but that can be easily extended as the need arises.

Being a new API i am introducing this only in trunk, though I believe
that once the interface has been ironed out it might become a
worthwhile addition to 1.4 as well - basically, the first time
we will need to fix a piece of argument parsing code, we might as
well bring in this change and use the new API instead.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75379 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 14:32:15 +00:00
Luigi Rizzo
35efc961ef Initialize a variable to avoid a warning when the compiler
(and/or the optimization level) may think it is used uninitialized.
The code was indeed correct, but unfortunately the result of
some compiler checks such as -Wunused and -Wuninitialized depends
heavily on the optimization level.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 12:46:25 +00:00
Jason Parker
766121a5bc Fix an incorrect parenthesization (TODO: Find a better word) in app_dial
Pointed out by Fanzhou Zhao

Closes issue #10216


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75351 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-17 12:01:05 +00:00
Kevin P. Fleming
7413c78ddb Merged revisions 75306 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75306 | kpfleming | 2007-07-16 15:53:24 -0500 (Mon, 16 Jul 2007) | 11 lines

Merged revisions 75304 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75304 | kpfleming | 2007-07-16 15:46:58 -0500 (Mon, 16 Jul 2007) | 3 lines

provide proper copyright/license attribution for this structure that was copied from a BSD-licensed header file long, long ago...


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75307 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 20:58:56 +00:00
Joshua Colp
344e6fd016 Change the function name slightly... just for kpfleming!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75260 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 18:38:28 +00:00
Joshua Colp
0b0e64fe2f Add in check for the GCC attribute deprecated. It may be used soon!
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 18:36:02 +00:00
Joshua Colp
e498488bde For my next trick I will make it so dialplan functions no longer need to call ast_module_user_add and ast_module_user_remove. These are now called in the ast_func_read and ast_func_write functions outside of the module.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75255 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 18:24:29 +00:00
Mark Michelson
ce8f95d750 Merged revisions 75253 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r75253 | mmichelson | 2007-07-16 13:16:15 -0500 (Mon, 16 Jul 2007) | 8 lines

Restoring functionality from 1.2 wherein Retrydial will not exit if there is no announce file specified.
This change makes it so that if there is no announce file specified, the application will continue until finished (or caller hangs up).
If a bogus announce file is specified, then a warning message will be printed saying that the file could not be found, but execution will
still continue. 

(closes issue #10186, reported by jon, patched by me)


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75254 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 18:18:19 +00:00
Joshua Colp
0dc98ebdf2 I found this sillyness when I did my ast_module_user conversion. Return immediately if no data was passed to the Verbose application.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 15:57:01 +00:00
Joshua Colp
b8cd949cce Applications no longer need to call ast_module_user_add and ast_module_user_remove. This is now taken care of in the pbx_exec function outside of the application.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75200 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 14:39:29 +00:00
Joshua Colp
96a646734f It is no longer required for each module that deals with a channel to call ast_module_user_hangup_all in it's unload function. The loader will automatically perform this action for it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75183 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 13:35:20 +00:00
Russell Bryant
8d1e53958c Merge a bunch of doxygen updates to header files. This includes changes to
use the \retval tag for documenting return values, fixing various warnings
when generating the documentation, and various other things.
(closes issue #10203, snuffy)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75164 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 02:51:56 +00:00
Russell Bryant
5a32541671 Cast the 2nd argument to iconv() to a void *, as some systems define it as a
(const char *), while others define it as (char *).  This is done to suppress
compiler warnings about it.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75163 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-16 02:44:49 +00:00
Russell Bryant
472dde9a50 Merged revisions 75108 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75108 | russell | 2007-07-13 15:36:16 -0500 (Fri, 13 Jul 2007) | 11 lines

Merged revisions 75107 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75107 | russell | 2007-07-13 15:35:22 -0500 (Fri, 13 Jul 2007) | 3 lines

Fix a couple potential minor memory leaks.  load_moh_classes() could return
without destroying the loaded configuration.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75109 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:37:27 +00:00
Mark Michelson
cb8170e8c5 Merged revisions 75078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75078 | mmichelson | 2007-07-13 15:15:30 -0500 (Fri, 13 Jul 2007) | 13 lines

Merged revisions 75066 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75066 | mmichelson | 2007-07-13 15:10:39 -0500 (Fri, 13 Jul 2007) | 5 lines

Fixed an issue where chanspy flags were uninitialized if no options were passed.
What triggered this investigation was an IRC chat where some people's quiet flags were
set while others' weren't even though none of them had specified the q option.


........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:16:40 +00:00
Russell Bryant
c2603c1aeb resolve a compiler warning
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75077 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:15:16 +00:00
Russell Bryant
fcd3f8dbea Merged revisions 75067 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75067 | russell | 2007-07-13 15:10:40 -0500 (Fri, 13 Jul 2007) | 14 lines

Merged revisions 75059 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75059 | russell | 2007-07-13 15:07:21 -0500 (Fri, 13 Jul 2007) | 6 lines

Ensure that adding a user to the list of users of a specific music on hold
class is not done at the same time as any of the other operations on this list
to prevent list corruption.  Using the global moh_data lock for this is not
ideal, but it is what is used to protect these lists everywhere else in the
module, and I am only changing what is necessary to fix the bug.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75075 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 20:14:23 +00:00
Russell Bryant
432a087ed9 Merged revisions 75053 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

................
r75053 | russell | 2007-07-13 14:11:26 -0500 (Fri, 13 Jul 2007) | 20 lines

Merged revisions 75052 via svnmerge from 
https://origsvn.digium.com/svn/asterisk/branches/1.2

........
r75052 | russell | 2007-07-13 14:10:00 -0500 (Fri, 13 Jul 2007) | 12 lines

(closes issue #9660)
Reported by: mmacvicar
Patches submitted by: bbryant, russell
Tested by: mmacvicar, marco, arcivanov, jmhunter, explidous

When using a TDM400P (and probably other analog cards) there was a chance that
you could hang up and pick the phone back up where it has been long enough to
be not considered a flash hook, but too soon such that the device reports that
it is busy and the person on the phone will only hear silence.  This patch
makes chan_zap more tolerant of this and gives the device a couple of seconds 
to succeed so the person on the phone happily gets their dialtone.

........

................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75054 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 19:19:51 +00:00
Luigi Rizzo
e950538bdd Small improvement to the STUN support so it can be used by
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: https://origsvn.digium.com/svn/asterisk/trunk@75034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-13 16:22:09 +00:00
Mark Michelson
4d915d13c7 Merged revisions 74997 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74999 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 23:02:33 +00:00
Steve Murphy
6bc0a4929c Merged revisions 74955 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r74955 | murf | 2007-07-12 14:42:08 -0600 (Thu, 12 Jul 2007) | 1 line

This patch resolves 10143; thanks to irroot for the patch; looked acceptable. Let the community decide if it messes things up
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74956 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 20:46:32 +00:00
Joshua Colp
1f86a8bc2d Merged revisions 74922 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r74922 | file | 2007-07-12 16:17:59 -0300 (Thu, 12 Jul 2007) | 2 lines

Whoops... didn't want this to be returned to 0 each iteration.

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74923 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 19:19:03 +00:00
Joshua Colp
8f3a5481dc Merged revisions 74888 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r74888 | file | 2007-07-12 14:16:28 -0300 (Thu, 12 Jul 2007) | 2 lines

When waiting for a digit ensure that a begin frame was received with it, not just an end frame. (issue #10084 reported by rushowr)

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@74891 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-12 17:17:56 +00:00