summaryrefslogtreecommitdiff
path: root/channels
AgeCommit message (Collapse)Author
2007-07-24Revert trivial whitespace change (for testing)Jason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76852 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24Trivial whitespace change to test comitting...Jason Parker
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76841 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24Merged revisions 76803 via svnmerge from Tilghman Lesher
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r76803 | qwell | 2007-07-24 11:32:20 -0500 (Tue, 24 Jul 2007) | 3 lines Don't create the Asterisk channel until we are starting the PBX on it. (ASA-2007-018) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76807 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24The chan_skinny Dial() syntax was funky. You had to do Dial(Skinny/line@device)Jason Parker
This allows you to just Dial(Skinny/line), as long as line isn't ambiguous. Note that this does not remove or deprecate the "old" syntax, as it's still quite useful - even moreso if shared lines get implemented. Initial patch by me, with some changes and suggestions from wedhorn. (closes issue #10263) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76785 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-24two small fixes when using stun (reported by Marta Carbone):Luigi Rizzo
+ externexpire was not initialized properly; + stunaddr was not handled properly on a sip reload git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76770 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merge the dialplan_aesthetics branch. Most of this patch simply converts ↵Tilghman Lesher
applications using old methods of parsing arguments to using the standard macros. However, the big change is that the really old way of specifying application and arguments separated by a comma will no longer work (e.g. NoOp,foo|bar). Instead, the way that has been recommended since long before 1.0 will become the only method available (e.g. NoOp(foo,bar). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76703 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76656 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r76656 | qwell | 2007-07-23 13:59:28 -0500 (Mon, 23 Jul 2007) | 3 lines Fix some incorrect softkey labels in messages. Don't try to play dialtone in some unimplemented features. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76657 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76654 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r76654 | file | 2007-07-23 15:29:48 -0300 (Mon, 23 Jul 2007) | 12 lines Merged revisions 76653 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r76653 | file | 2007-07-23 15:28:13 -0300 (Mon, 23 Jul 2007) | 4 lines (closes issue #5866) Reported by: tyler Do not force channel format changes when a generator is present. The generator may have changed the formats itself and changing them back would cause issues. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76655 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76620 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 (closes issue #10276) ........ r76620 | qwell | 2007-07-23 12:57:53 -0500 (Mon, 23 Jul 2007) | 4 lines Don't try to queue up hold/unhold frames on a non-existent channel. Issue 10276. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76621 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23add two missing entries in the replica of the sip_tech thatLuigi Rizzo
does not use DTMF BEGIN frames. 1.4 seems correct (it does not have the two fields). However, as this bug shows, the current way of creating the sip_tech replica is too error-prone, one can easily forget to update one of the two entries. Perhaps it would be better to create sip_tech_info expliclty at module load, by doing sip_tech_info = sip_tech; sip_tech_info.send_digit_begin = NULL (in this case, this is something applicable to 1.4 as well). git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76564 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76561 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r76561 | file | 2007-07-23 11:34:21 -0300 (Mon, 23 Jul 2007) | 14 lines Merged revisions 76560 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r76560 | file | 2007-07-23 11:32:07 -0300 (Mon, 23 Jul 2007) | 6 lines (closes issue #10236) Reported by: homesick Patches: rpid_1.4_75840.patch uploaded by homesick (license 91) Accept Remote Party ID on guest calls. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76563 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Mark str2dtmfmode() as currently unused to resolve a compiler warning andRussell Bryant
allow building under dev mode git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23(closes issue #10271)Russell Bryant
Reported by: snuffy Patches: doxygen-updates.diff uploaded by snuffy (license 35) Another big batch of doxygen documentation updates git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76559 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23introduce two functions, map_x_s() and map_s_x(), to mapLuigi Rizzo
between integers and strings using a single translation table, and use them in a few places instead of ad-hoc routines that duplicate the table. On passing, note that REFER_CONFIRMED is never used, and add a few comments. Nothing to backport here. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76547 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Remove an unused function to resolve a compiler warningRussell Bryant
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76524 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Use autoconf logic to determine byte swapping macro presence. This should ↵Joshua Colp
now also use other macros if present. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76523 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23move "sip prunte realtime ..." and "sip set debug ... " to NEW_CLI style.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76521 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76519 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r76519 | file | 2007-07-23 10:23:09 -0300 (Mon, 23 Jul 2007) | 6 lines (closes issue #10268) Reported by: mvanbaak Patches: chan_skinny_openbsd.diff uploaded by mvanbaak (license 7) Add another OS that has to use the Macros for byte ordering. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76520 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Merged revisions 76485 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r76485 | russell | 2007-07-23 07:25:01 -0500 (Mon, 23 Jul 2007) | 6 lines Use a signed integer for storing the number of bytes in the packet read from the network. Using an unsigned value here made it impossible to handle an error returned from recvfrom(). Furthermore, in the case that recvfrom() did return an error, this would cause a crash due to a heap overflow. (closes issue #10265, reported by and fix suggested by timrobbins) ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76486 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23Add some documentation on the sipregistry states and theLuigi Rizzo
handling of the sip_register structures. This commit only changes comments and whitespace. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76467 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-23add a bit of comments on internal functions.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76458 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22rewrite "sip show {channels|subscriptions}" CLI handlerLuigi Rizzo
using the new-style cli format. No functional changes, nothing to backport. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22Make sip_destroy() return NULL so the caller can do things likeLuigi Rizzo
foo = sip_destroy(foo); and reduce the chance of bugs due to dangling pointers. Also remove a duplicate prototype for the function. nothing to backport. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76392 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22add two comment blocks, one on reusing nonces, and one on the handlingLuigi Rizzo
of an 'authpeer' local variable. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76390 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22comment and slightly restructure handle_request() in the part that handlesLuigi Rizzo
responses, so that there is a common exit point. Mark two places where probably we could return -1 instead of 0 to report an error to the caller. (change triggered by investigations on how the 'SIP_PKT_IGNORE' field was used). nothing to backport from this commit git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22remove unused argument from handle_invite_replaces(), and also leftoverLuigi Rizzo
SIP_PKT_* stuff from the previous commit. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76366 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22Cleanup of flags used in struct sip_request, moving them toLuigi Rizzo
individual variables. Apart from SIP_PKT_IGNORE which was used a zillion times, the other two are used seldom. On passing: - move the arrays to the end of struct sip_request, so a (small) buffer overflow is less likely to overwrite the other fields; - note that the 'ignore' argument to handle_invite_replaces() is not used and should be removed (will be done in a separate commit). Nothing to backport in this change. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76365 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22move two per-packet flags to proper variables.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76349 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22minor clarification on the usage of SIP_* flags.Luigi Rizzo
Also correct some items that were misclassified. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-22document the way sipdebug works, and implement it throughLuigi Rizzo
variables and not flags. NOTE: The old behaviour (preserved in this commit) is that if sipdebug is set in the config file, it can only be disabled by reloading the config. I am not sure if this is accidental or voluntary, but it is really unconvenient and I think it should be handled in the same way as other options i.e. consider requests from the config file or the cli (or the command line) to be fully equivalent and act on the same status variable. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76330 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21move the SIP_REALTIME flag to a field in the user/peer structure.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76314 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21Add a note to document how the temporary 'pvt' should be initializedLuigi Rizzo
before using it. I am unclear on the details right now so i hope someone can comment more. The obvious (and lazy) approach would be to bzero() all of it (except for the string pool), but isn't that too much work ? Feedback wanted here... git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76313 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21whoops... was setting needdestroy on the wrong dialog.Luigi Rizzo
(spotted by a diff with my own branch) git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76279 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21more two more flags to proper variables: ALREADYGONE and NEEDDESTROY.Luigi Rizzo
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76278 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21use explicit variables for things that don't need toLuigi Rizzo
be stored in ast_flags. First victim is 'SIP_NO_HISTORY' replaced by a 'do_history' field in the sip_pvt structure. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76231 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21Use ast_str_append() instead of ast_build_string() to constructLuigi Rizzo
the sdp messages. Overall the code is slightly more readable (because the string is fully described by a single pointer), and more efficient (because the length is stored explicitly so you don't need to do strlen()). (I have been using this code for almost a year now.) I wish we had infix string operators to do this sort of things! Nothing to backport from this change. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76229 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21We have two 'technology' descriptors for a SIP channel, soLuigi Rizzo
define and use a macro to determine whether we are pointing to one of them, so when one goes away (or a new one appears) we don't have to touch all the code. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-21Enhance NAT support as discussed on the -dev list, i.e.:Luigi Rizzo
+ extensive documentation changes both in sip.conf.sample and in the source; + allow "externip" and "externhost" to include a port number as well; + allow "bindaddr" to have a port number (making bindport unnecessary, even though it is still present for backward compatibility); + introduce the new "stunaddr" parameter to specify an STUN server to be used from the main SIP socket; + extend the "sip show settings" output to show all the above. Internally: + change related data structures from struct in_addr to struct sockaddr_in to store the port numbers as well; + reorganize ast_sip_ouraddrfor() (should also be renamed to sip_ouraddrfor() because it is not a generic API, though it might become so if called with a socket as an additional argument, in which case it can be moved elsewhere). As mentioned in the documentation, media sessions still do not use STUN so the port numbers may still be incorrect when Asterisk is behind a NAT On passing, some of the debugging messages printing media addresses are probably using the wrong values, but this will be checked/fixed in a subsequent commit if needed. Part of the following chunk in the function that handles a "sip reload" is probably needed on previous versions as well, to avoid leaking the memory used for the "localaddr" list: @@ -17244,13 +17274,17 @@ /* Reset IP addresses */ memset(&bindaddr, 0, sizeof(bindaddr)); + memset(&stunaddr, 0, sizeof(stunaddr)); + memset(&internip, 0, sizeof(internip)); + /* Free memory for local network address mask */ + ---> ast_free_ha(localaddr); <----- memset(&localaddr, 0, sizeof(localaddr)); memset(&externip, 0, sizeof(externip)); memset(&default_prefs, 0 , sizeof(default_prefs)); git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20Merged revisions 76174 via svnmerge from Jason Parker
https://origsvn.digium.com/svn/asterisk/branches/1.4 ........ r76174 | qwell | 2007-07-20 15:32:55 -0500 (Fri, 20 Jul 2007) | 2 lines It's possible for sub->owner to be NULL here if you cancel the call immediately after/during sending a digit. ........ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76175 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20Merged revisions 76087 via svnmerge from Joshua Colp
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r76087 | file | 2007-07-20 14:20:09 -0300 (Fri, 20 Jul 2007) | 14 lines Merged revisions 76080 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r76080 | file | 2007-07-20 14:16:48 -0300 (Fri, 20 Jul 2007) | 6 lines (closes issue #10247) Reported by: fkasumovic Patches: chan_sip.patch uploaded by fkasumovic (license #101) Drop any peer realm authentication entries when reloading so multiple entries do not get added to the peer. ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20It is impossible for the externhost variable to not exist, it is however ↵Joshua Colp
possible for it to be empty. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20Don't use a field size for the last argument of printf format,Luigi Rizzo
because in this case the string is left-aligned and it is not truncated anyways. Omitting the field size prevents the generation of trailing whitespace, which makes the string fit in smaller windows. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76037 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-20Extend the 'network settings' section with indication on theLuigi Rizzo
localnet settings (requires the change in SVN 76034), and also give an indication on whether/why/how the remapping of addresses in SIP message is done or not. I think this is especially useful for debugging the configuration, as the address remapping depends on a combination of at least 3 parameters (localnet, externhost, externip) and successful DNS lookup. An example of the output of this section is below: Network Settings: --------------------------- SIP address remapping: Enabled using externhost Externhost: foo.dyndns.net Externip: 80.64.128.23:0 Externrefresh: 10 Internal IP: 12.34.56.78:5060 Localnet: 192.168.0.0/255.255.0.0 10.0.0.0/255.0.0.0 I leave to the community the judgement if the above info is a useful addition for 1.4. It is not a bugfix, but it is neither a new feature, only a useful diagnostic tool. Note that I would like to move there also the bindaddress/port information, in the usual addr:port format e.g. Bindaddress: 0.0.0.0:5060 so that network information is all in one place. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@76035 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19After some study, thought, comparing, etc. I've backed out the previous ↵Steve Murphy
universal mod to make ast_flags a 64 bit thing. Instead, I added a 64-bit version of ast_flags (ast_flags64), and 64-bit versions of the test-flag, set-flag, etc. macros, and an app_parse_options64 routine, and I use these in app_dial alone, to eliminate the 30-option limit it had grown to meet. There is room now for 32 more options and flags. I was heavily tempted to implement some of the other ideas that were presented, but this solution does not intro any new versions of dial, doesn't have a different API, has a minimal/zero impact on code outside of dial, and doesn't seriously (I hope) affect the code structure of dial. It's the best I can think of right now. My goal was NOT to rewrite dial. I leave that to a future, coordinated effort. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75983 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19Merged revisions 75928 via svnmerge from Russell Bryant
https://origsvn.digium.com/svn/asterisk/branches/1.4 ................ r75928 | russell | 2007-07-19 10:53:15 -0500 (Thu, 19 Jul 2007) | 14 lines Merged revisions 75927 via svnmerge from https://origsvn.digium.com/svn/asterisk/branches/1.2 ........ r75927 | russell | 2007-07-19 10:49:42 -0500 (Thu, 19 Jul 2007) | 6 lines When processing full frames, take sequence number wraparound into account when deciding whether or not we need to request retransmissions by sending a VNAK. This code could cause VNAKs to be sent erroneously in some cases, and to not be sent in other cases when it should have been. (closes issue #10237, reported and patched by mihai) ........ ................ git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75929 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19print more of the network settings (externip, externhost etc.)Luigi Rizzo
in the "sip show settings" cli output. I have put these in a separate section, probably even bindaddr and SIP port should go there. There are more things to add here e.g. localnet and so on. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75878 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19document the use of externip, externhost and other nat-related options,Luigi Rizzo
as well as the handling of the sip socket. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75875 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19ast_sip_ouraddrfor() never fails, so make it voidLuigi Rizzo
and remove the code that would never be called. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75874 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19portability fix: use %f instead of %lf when printing double.Luigi Rizzo
The l is useless. git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75873 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2007-07-19Allow chan_misdn to build in dev-modeTilghman Lesher
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@75857 65c4cc65-6c06-0410-ace0-fbb531ad65f3