Commit graph

508 commits

Author SHA1 Message Date
Andrew Latham
3820f1586e Doxygen Updates - Title update
Update and extend the configuration_file group and enable linking.  Update title that was left behind many years ago.

(issue ASTERISK-20259)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@375006 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-14 21:47:40 +00:00
Andrew Latham
99e1174bfa Doxygen Cleanup
Start adding configuration file linking and pages.  Add module loading doxygen block.

Breaking up commits to keep it easy to track

(issue ASTERISK-20259)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@374166 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-10-01 23:24:35 +00:00
Damien Wedhorn
f4d1b7ab12 Rewrite of skinny debugging.
Debugging messages and associated controls only compiled in if configured with --enable-dev-mode. Debug messages provide more detail (including thread id) and are grouped so the user/dev can limit the type of messages displayed. Functionally no real change to chan_skinny.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@370881 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-08-07 21:58:01 +00:00
Damien Wedhorn
3d38998b70 Various small chan_skinny fixes and cleanup
Added test to skinny_register to only allow device to register against
a device that is not already registered.

Addback l->device test for skinny_show_lines. Fixes segfault if a line
is configured but not configured to a device. Reverses part of r368680.

Removed redundant l->device tests in subsubstate and dumpsub. l->device
will always be valid if these routines are called. Reverses 368948 -
discussed with mjordan on irc.

Some indentation cleanup.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@369034 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-15 21:18:56 +00:00
Matthew Jordan
1efe727ed8 AST-2012-009: Fix crash in chan_skinny due to Key Pad Button Message handling
AST-2012-008 (r367844) fixed a denial of service attack exploitable in the
Skinny channel driver that occurred when certain messages are sent after a
previously registered station sends an Off Hook message.  Unresolved in that
patch is an issue in the Asterisk 10 releases, wherein, if a Station Key
Pad Button Message is processed after an Off Hook message, the channel driver
will inappropriately dereference a NULL pointer.

This patch fixes those places where the message handling or the channel
callback functions would attempt to dereference the line's pointer to the
device.

(issue ASTERISK-19905)
Reported by: Christoph Hebeisen
Tested by: mjordan, Christoph Hebeisen
Patches:
  AST-2012-009-10.diff uploaded by mjordan (license 6283)
........

Merged revisions 368947 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368948 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-14 17:34:10 +00:00
Damien Wedhorn
d979399071 Skinny cleanup (mwi_event_cb).
Original was testing for d->session, setting and testing again (all nested).

Removed duplicate testing and restructured function to test/return and then
the main code.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368681 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-07 21:44:15 +00:00
Damien Wedhorn
0271734f2e Skinny cleanup.
Removed d->registered which was mirroring d->session. Changed relevant
references to use d->session instead.

Moved setting and unsetting of l->device from session register to device 
configuration. As such, l->device will always be valid unless it is has not
been configured to a device. Revised various test where checking if a device
is registered to use l->device->session.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-07 21:23:42 +00:00
Mark Michelson
14a985560e Merge changes dealing with support for Digium phones.
Presence support has been added. This is accomplished by
allowing for presence hints in addition to device state
hints. A dialplan function called PRESENCE_STATE has been
added to allow for setting and reading presence. Presence
can be transmitted to Digium phones using custom XML
elements in a PIDF presence document.

Voicemail has new APIs that allow for moving, removing,
forwarding, and playing messages. Messages have had a new
unique message ID added to them so that the APIs will work
reliably. The state of a voicemail mailbox can be obtained
using an API that allows one to get a snapshot of the mailbox.
A voicemail Dialplan App called VoiceMailPlayMsg has been
added to be able to play back a specific message.

Configuration hooks have been added. Configuration hooks
allow for a piece of code to be executed when a specific
configuration file is loaded by a specific module. This is
useful for modules that are dependent on the configuration
of other modules.

chan_sip now has a public method that allows for a custom
SIP INFO request to be sent mid-dialog. Digium phones use
this in order to display progress bars when files are played.

Messaging support has been expanded a bit. The main
visible difference is the addition of an AMI action
MessageSend.

Finally, a ParkingLots manager action has been added in order
to get a list of parking lots.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@368435 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-06-04 20:26:12 +00:00
Matthew Jordan
94187aafc0 AST-2012-008: Fix remote crash vulnerability in chan_skinny
When a skinny session is unregistered, the corresponding device pointer is set
to NULL in the channel private data.  If the client was not in the on-hook state
at the time the connection was closed, the device pointer can later be
dereferened if a message or channel event attempts to use a line's pointer to
said device.

The patches prevent this from occurring by checking the line's pointer in
message handlers and channel callbacks that can fire after an unregistration
attempt.

(closes issue ASTERISK-19905)
Reported by: Christoph Hebeisen
Tested by: mjordan, Damien Wedhorn
Patches:
  AST-2012-008-1.8.diff uploaded by mjordan (license 6283)
  AST-2012-008-10.diff uploaded by mjordan (licesen 6283)
........

Merged revisions 367844 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@367845 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-29 18:40:26 +00:00
Kinsey Moore
b5a6de76fc Commit framework for HANGUPCAUSE (replacement for SIP_CAUSE)
This is the starting point for the Asterisk 11: Who Hung Up work and provides
a framework which will allow channel drivers to report the types of hangup
cause information available in SIP_CAUSE without incurring the overhead of the
MASTER_CHANNEL dialplan function. The initial implementation only includes
cause generation for chan_sip and does not include cause code translation
utilities.

This change deprecates SIP_CAUSE and replaces its method of reporting cause
codes with the new framework. This change also deprecates the 'storesipcause'
option in sip.conf.

Review: https://reviewboard.asterisk.org/r/1822/
(Closes issue SWP-4221)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@366408 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-05-14 19:44:27 +00:00
Matthew Jordan
c37c7b4a2c AST-2012-005: Fix remotely exploitable heap overflow in keypad button handling
When handling a keypad button message event, the received digit is placed into
a fixed length buffer that acts as a queue.  When a new message event is
received, the length of that buffer is not checked before placing the new digit
on the end of the queue.  The situation exists where sufficient keypad button
message events would occur that would cause the buffer to be overrun.  This
patch explicitly checks that there is sufficient room in the buffer before
appending a new digit.

(closes issue ASTERISK-19592)
Reported by: Russell Bryant
........

Merged revisions 363100 from http://svn.asterisk.org/svn/asterisk/branches/1.6.2
........

Merged revisions 363102 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 363103 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@363105 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-04-23 13:53:24 +00:00
Sean Bright
99bd5b1e2e Eliminate a bunch of shadow warnings.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@358647 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-08 17:02:52 +00:00
Terry Wilson
0e5c761c28 Opaquify ast_channel typedefs, fd arrays, and softhangup flag
Review: https://reviewboard.asterisk.org/r/1784/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357721 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-03-01 22:09:18 +00:00
Terry Wilson
a9d607a357 Opaquify ast_channel structs and lists
Review: https://reviewboard.asterisk.org/r/1773/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@357542 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-29 16:52:47 +00:00
Sean Bright
51c24c88a1 Prefer ast_set_qos() over ast_netsock_set_qos()
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356882 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-27 14:13:58 +00:00
Terry Wilson
ebaf59a656 Opaquification for ast_format structs in struct ast_channel
Review: https://reviewboard.asterisk.org/r/1770/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356573 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-24 00:32:20 +00:00
Terry Wilson
57f42bd74f ast_channel opaquification of pointers and integral types
Review: https://reviewboard.asterisk.org/r/1753/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@356042 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-20 23:43:27 +00:00
Terry Wilson
34c55e8e7c Opaquify char * and char[] in ast_channel
Review: https://reviewboard.asterisk.org/r/1733/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354968 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-13 17:27:06 +00:00
Walter Doekes
db24fc2523 Avoid cppcheck warnings; removing unused vars and a bit of cleanup.
Patch by: Clod Patry
Review: https://reviewboard.asterisk.org/r/1651


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@354429 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-08 20:49:48 +00:00
Richard Mudgett
23bc964e1c Constify some more channel driver technology callback parameters.
Review: https://reviewboard.asterisk.org/r/1707/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353685 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-02-01 19:53:38 +00:00
Damien Wedhorn
843c7ef088 Allow softkey reject while device onhook.
Fixes up softkey endcall. Previous code was a copy of onhook, now
allows for endcall softkey to be used while device is still onhook.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@353224 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-29 22:33:08 +00:00
Terry Wilson
99cae5b750 Opaquify channel stringfields
Continue channel opaque-ification by wrapping all of the stringfields.
Eventually, we will restrict what can actually set these variables, but
the purpose for now is to hide the implementation and keep people from
adding code that directly accesses the channel structure. Semantic
changes will follow afterward.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@352348 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-24 20:12:09 +00:00
Terry Wilson
04da92c379 Replace direct access to channel name with accessor functions
There are many benefits to making the ast_channel an opaque handle, from
increasing maintainability to presenting ways to kill masquerades. This patch
kicks things off by taking things a field at a time, renaming the field to
'__do_not_use_${fieldname}' and then writing setters/getters and converting the
existing code to using them. When all fields are done, we can move ast_channel
to a C file from channel.h and lop off the '__do_not_use_'.

This patch sets up main/channel_interal_api.c to be the only file that actually
accesses the ast_channel's fields directly. The intent would be for any API
functions in channel.c to use the accessor functions. No more monkeying around
with channel internals. We should use our own APIs.

The interesting changes in this patch are the addition of
channel_internal_api.c, the moving of the AST_DATA stuff from channel.c to
channel_internal_api.c (note: the AST_DATA stuff will have to be reworked to
use accessor functions when ast_channel is really opaque), and some re-working
of the way channel iterators/callbacks are handled so as to avoid creating fake
ast_channels on the stack to pass in matching data by directly accessing fields
(since "name" is a stringfield and the fake channel doesn't init the
stringfields, you can't use the ast_channel_name_set() function). I went with
ast_channel_name(chan) for a getter, and ast_channel_name_set(chan, name) for a
setter.

The majority of the grunt-work for this change was done by writing a semantic
patch using Coccinelle ( http://coccinelle.lip6.fr/ ).

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@350223 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2012-01-09 22:15:50 +00:00
Damien Wedhorn
48f9a8f668 Fix segfault on answer.
Only update/change RTP source if RTP has already been started and 
connected to the subchannel.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@348849 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-22 21:12:57 +00:00
Damien Wedhorn
5952117559 Fix segfault on answer.
Fix a segfault if an attempt to answer a call is made between when
the inbound call gives up (and the channel is removed) and when the
device is notified and removes the call from the device.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@347490 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-12-08 06:59:01 +00:00
Tilghman Lesher
77b670c4ab Allow each logging destination and console to have its own notion of the verbosity level.
Review: https://reviewboard.asterisk.org/r/1599


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346391 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-29 18:43:16 +00:00
Richard Mudgett
7d9ba4875b Fix calls to ast_get_ip() not initializing the address family.
........

Merged revisions 346239 from http://svn.asterisk.org/svn/asterisk/branches/1.8
........

Merged revisions 346240 from http://svn.asterisk.org/svn/asterisk/branches/10


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@346241 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-11-23 23:03:32 +00:00
Damien Wedhorn
899df042f5 Fix simple switch to not progress a call when call already progressed.
If a simple switch was started on a device and then a specific call
made (such as redial or speed dial), on timeout of the simple switch
the call would be attempted again. This patch only allows the simple
switch to make a call if the substate is still in the collecting
digits mode.

Also added small debug message to dialAndAactivate sub. 

Tested by snuff and myself.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340973 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-14 21:15:33 +00:00
Damien Wedhorn
7cb2ac8664 Add skinny version 17 protocol support.
Added some data to skinny packet structures to make compatible
with v17. Added protocolversion to device, set on registration
based on the version provided by device.

v17 includes some increased ip space for ip6. This patch increases
ip space in the packets but still only uses ip4. Some packet
structures duplicated (ip4 and ip6 types). ip4 type used unless
version is greater or equal to 17.

Tested by snuff and myself on 7961 with recent 8.5 firmware. Also
tested compatible with old 7960 and older 30VIPs.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340071 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-10 00:57:06 +00:00
Damien Wedhorn
c5546e2bd7 Increase SKINNY_MAX_PACKET and add some logging.
Increase SKINNY_MAX_PACKET to 2000 bytes to handle some messages
in v17 that are greater than the old 1000 bytes. Also add some
useful logging regarding packet and session handling.

A device (with protocol v17) was sending a packet with length 
greater than 1000 which resulted in the TCP session being
destroyed and registration being retryed.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340070 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-10 00:36:02 +00:00
Damien Wedhorn
0ac40dc255 Merged revisions 340031 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r340031 | wedhorn | 2011-10-10 09:18:27 +1100 (Mon, 10 Oct 2011) | 8 lines
  
  Return -1 to skinny_session if register rejected.
  
  If device registration is rejected, return -1 so that the session is
  destroyed immediately. Previously, a segfault would occur on a 
  graceful shutdown if a register is rejected and the skinny_session
  has not yet timed out.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@340032 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-09 22:21:42 +00:00
Damien Wedhorn
b90964eda5 Merged revisions 339992 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

........
  r339992 | wedhorn | 2011-10-10 08:09:12 +1100 (Mon, 10 Oct 2011) | 9 lines
  
  Remove log message on traverse session list.
  
  On destroying a session, a list of sessions is traversed to find the 
  matching session. For each session not matching, skinny erroneously
  logged that the session was not matched. While technically correct
  the message was misleading, and tended to indicate errors that 
  were not there.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339993 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-09 21:15:09 +00:00
Damien Wedhorn
d59bb319fc Fixed segfault on core stop gracefully.
There was an issue that the cap and confcap pointers for each line and device
were being memcpy'd so they all pointed to the same ast_format_cap. On
destroying, a segfault occured on the second call to the same struct.

skinny reload now works again as well.

Tested by snuff and myself. 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@339680 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-10-06 20:18:45 +00:00
Matthew Jordan
8b5ba33fe0 Merged revisions 335078 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/10

................
  r335078 | mjordan | 2011-09-09 11:27:01 -0500 (Fri, 09 Sep 2011) | 29 lines
  
  Merged revisions 335064 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.8
  
  ........
    r335064 | mjordan | 2011-09-09 11:09:09 -0500 (Fri, 09 Sep 2011) | 23 lines
    
    Updated SIP 484 handling; added Incomplete control frame
    
    When a SIP phone uses the dial application and receives a 484 Address 
    Incomplete response, if overlapped dialing is enabled for SIP, then
    the 484 Address Incomplete is forwarded back to the SIP phone and the
    HANGUPCAUSE channel variable is set to 28.  Previously, the Incomplete
    application dialplan logic was automatically triggered; now, explicit
    dialplan usage of the application is required.
    
    Additionally, this patch adds a new AST_CONTOL_FRAME type called
    AST_CONTROL_INCOMPLETE.  If a channel driver receives this control frame,
    it is an indication that the dialplan expects more digits back from the
    device.  If the device supports overlap dialing it should attempt to 
    notify the device that the dialplan is waiting for more digits; otherwise,
    it can handle the frame in a manner appropriate to the channel driver.
    
    (closes issue ASTERISK-17288)
    Reported by: Mikael Carlsson
    Tested by: Matthew Jordan
    
    Review: https://reviewboard.asterisk.org/r/1416/
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@335079 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-09-09 16:28:23 +00:00
Damien Wedhorn
a0573368a1 Add SLA to skinny.
Adds sublines to skinny lines. Each subline can be attached to an 
SLA station/trunk combo. Includes the following functionality:

Callid is persistent for both in/out calls on all skinny devices.
Can join, hold, resume.
All sublines appear under a single line button.

See: https://wiki.asterisk.org/wiki/display/~wedhorn/Skinny+SLA for doc.

(closes issue ASTERISK-17947)

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 08:19:46 +00:00
Richard Mudgett
145c174565 Merged revisions 328329 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.10

........
  r328329 | rmudgett | 2011-07-14 19:19:32 -0500 (Thu, 14 Jul 2011) | 2 lines
  
  Make hint watcher callback take const strings for context and exten parameters.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@328344 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-15 00:23:14 +00:00
Leif Madsen
a525edea59 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: https://origsvn.digium.com/svn/asterisk/trunk@328259 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-07-14 20:28:54 +00:00
Damien Wedhorn
7df5d0d416 Add autoanswer to skinny.
Autoanswer added to skinny based on incoming chan var SKINNY_AUTOANSWER.
Initial value must be the time to autoanswer in ms, then optionally :BEEP
to play a tone when answered and :MUTE to mute the mic when answering. 
eg 3000:MUTE:BEEP will ring for 3 secs, then answer, mute the mic, and 
play a beep. just 3000 would answer afer 3 secs of ringing with no 
beep and full two way audio. 



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322544 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-09 11:05:07 +00:00
Damien Wedhorn
9598e5bc2f Remove skinny do_monitor and use ast_sched_start instead
The do_monitor seemed to be there for task scheduling and network monitoring. However, the network monitoring has a dedicated thread so the ast_io_wait was basically just a usleep as it didn't actually seem to be monitoring anything.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@322381 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-06-08 11:38:56 +00:00
Damien Wedhorn
0bb90a372e Remove extraneous line variables.
The vars were either explicitly or implicitly not used.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319470 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-17 21:59:55 +00:00
Damien Wedhorn
069b70c522 Fix up skinny hints.
Probably haven't been working for a couple of years. May still need
some more love, but they are now working, both as a hint device and
monitoring a hint. Changes centre around the long ago change
to remove the requirement for a device name in a skinny line, and 
changes to the transmit_* functions.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319316 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-16 21:39:33 +00:00
Damien Wedhorn
969a317d81 Add activatesub and dialandactivate sub.
When called, activatesub first cleans up the active sub and then
handles the sub passed. dialandactivatesub first sets sub->exten
and then calls activatesub. Revise handle_offhook to utilise the
callid sent to chan_skinny. Some other minor fixes especially around
d->hookstate (which still needs some more work).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@319024 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-15 23:17:57 +00:00
Damien Wedhorn
54bb8a0ca8 Move exten used for dialing from device to subchannel.
There were some issues where if a simple switch was cancelled and a
new switch started before the first had timed out where the d->exten
would be used for both subchannels. This was bad leading to possible
invalid extensions if some digits had been entered in the abandoned
simple switch and the second one was completed before the first timed
out, or the second would be cancelled because d->exten would be set to
nothing on the time out of the first.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318833 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-13 08:33:35 +00:00
Damien Wedhorn
c37c017781 Consolidate setsubstate_* into setsubstate and use a switch.
Consolidate the functions and add some debugging info. Allows to be
able to set a substate without explicitly knowing what the state is. 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318635 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 20:44:21 +00:00
Damien Wedhorn
bdbb3a506f Add setsubstate_onhook.
Add the setsubstate_onhook to complete the initial substate handling
procedures. Added dumpsub(sub, forcehangup) which is the common way of
calling setsubstate_onhook. Dumpsub attempts to activate another sub
after setting the current one onhook.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318600 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-12 07:25:52 +00:00
Damien Wedhorn
7002adcb3e Add setsubstate_callwait.
If a call is made to a line that already has a call and the device is
offhook (ie activeish call), the call is set to CALLWAIT rather than RINGIN. 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318106 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-09 07:40:40 +00:00
Damien Wedhorn
8c0b1115cd Only allow voicemail if substate is OFFHOOK or no channel active (UNSET).
(closes issue #17901)
Reported by: salecha


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318019 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 23:07:55 +00:00
Damien Wedhorn
a9beb8323e Rename sub->parent to sub->line.
Improve readability of code, eg, (sub->parent == d->activeline) becomes
(sub->line == d->activeline).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@318018 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 22:32:45 +00:00
Damien Wedhorn
bc61836c1b Move the hookstate from line to device.
Long time coming, finally moving the hookstate from line to device.
This may fix some issues where a device has multiple lines. Previously
we had to run through all lines on a device to see if it was actually
onhook or not.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317996 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-06 22:24:08 +00:00
Russell Bryant
0938974902 Merged revisions 317478 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r317478 | russell | 2011-05-05 17:53:45 -0500 (Thu, 05 May 2011) | 12 lines
  
  Fix some consistency issues with jitterbuffer config.
  
  Store the defaults noted in the sample config files in the jitterbuffer config
  data structure.  This makes the CLI commands that output these settings show
  the right thing.  Also only show the settings that are relevant in the settings
  CLI commands, based on which jitterbuffer is selected and whether it's enabled.
  
  (closes issue #19083)
  Reported by: rgagnon
  Patches:
        issue-19083-trunk-r313139.diff uploaded by rgagnon (license 1202)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 22:55:09 +00:00
Damien Wedhorn
e98ac1f0f4 Move hold stuff to the setsubstate arrangement.
skinny_hold moved to setsubstate_hold and skinny_unhold integrated into
setsubstate_connected. Removed sub->onhold and replaced with 
SUBSTATE_HOLD.

Also fixed inbound call answering by queueing an AST_CONTROL_ANSWER on
answering a SUBSTATE_RINGIN sub (was a typo).


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317382 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 20:46:49 +00:00
Damien Wedhorn
2ae06c3e6d Add setsubstate_congestion and setsubstate_progress.
Move handling of both state handling from skinny_indicate to it's own sub.
Also, modified behaviour to not hangup the sub and let the dialplan
have a chance in doing what it wants for congestion. Added various states to
substate2str and added these states where applicable for other set_substate_
procs.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@317026 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 09:03:32 +00:00
Damien Wedhorn
468b8229a7 Add setsubstate_busy.
Move handling of setting busy state from skinny_indicate to it's own sub.
Also, modified behaviour to not hangup the sub and let the dialplan
have a chance in doing what it wants (eg busy(10); hangup() in the dialplan
now gives a busy indication for 10 secs and then hangs up.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316994 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-05 08:10:14 +00:00
Damien Wedhorn
b9e763ecae Add setsubstate_ringout (equivalent to AST_STATE ringing).
Renamed previous setsubstate_ringout to setsubstate_dialing for a state
when attempting to dial a number, substate ringout now for when core
has indicated that the channel is actually ringing on the other end.
Also added substate2str for debugging purposes.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316885 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 21:44:06 +00:00
Damien Wedhorn
99d0da2a2d Add setsubstate_ringin.
Added setsubstate_ringin. skinny_call now calls sss_ringin rather than inline.
Fixed previous issue so that setsubstate_connected now use SUBSTATE_RINGIN
to determine is an AST_CONTROL_ANSWER should be queued.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316584 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 08:25:47 +00:00
Damien Wedhorn
bc814dc84a Make skinny_answer use setsubsate_connected.
Cosolidated the code so that skinny_answer now uses the setsubstate procedures
rather than doing the handling inline.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316552 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 07:43:58 +00:00
Damien Wedhorn
c6f189cd71 Cleanup skinny callinfo.
Cosolidated the working out of the callinfo to be sent into
transmit_callinfo. Replaced ambiguous sub->outgoing with calldirection
which can be SKINNY_INCOMING or SKINNY_OUTGOING (same value as the
skinny protocol). 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316519 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-04 07:10:04 +00:00
Russell Bryant
95561bd37a Merged revisions 316336 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316336 | russell | 2011-05-03 17:13:31 -0500 (Tue, 03 May 2011) | 8 lines
  
  Use htons() instead of ntohs() in some places.
  
  (closes issue #19200)
  Reported by: wdoekes
  Patches:
        issue19200-trunk.patch uploaded by wdoekes (license 717)
        issue19200-1.8.x.patch uploaded by wdoekes (license 717)
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316337 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 22:16:23 +00:00
Russell Bryant
37aa52fd78 Merged revisions 316265 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

........
  r316265 | russell | 2011-05-03 14:55:49 -0500 (Tue, 03 May 2011) | 5 lines
  
  Fix a bunch of compiler warnings generated by gcc 4.6.0.
  
  Most of these are -Wunused-but-set-variable, but there were a few others
  mixed in here, as well.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@316293 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-05-03 20:45:32 +00:00
Matthew Nicholson
079e794b1c Merged revisions 314628 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r314628 | mnicholson | 2011-04-21 13:24:05 -0500 (Thu, 21 Apr 2011) | 27 lines
  
  Merged revisions 314620 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ................
    r314620 | mnicholson | 2011-04-21 13:22:19 -0500 (Thu, 21 Apr 2011) | 20 lines
    
    Merged revisions 314607 via svnmerge from 
    https://origsvn.digium.com/svn/asterisk/branches/1.4
    
    ........
      r314607 | mnicholson | 2011-04-21 13:19:21 -0500 (Thu, 21 Apr 2011) | 14 lines
      
      Added limits to the number of unauthenticated sessions TCP based protocols are allowed to have open simultaneously.  Also added timeouts for unauthenticated sessions where it made sense to do so.
      
      Unrelated, the manager interface now properly checks if the user has the "system" privilege before executing shell commands via the Originate action. 
      
      AST-2011-005
      AST-2011-006
      
      (closes issue #18787)
      Reported by: kobaz
      
      (related to issue #18996)
      Reported by: tzafrir
    ........
  ................
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@314666 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-21 18:32:50 +00:00
Damien Wedhorn
6b01eb3324 Consolidate all new call calls to run through new setsubstate_ringout.
(closes issue #17907)
Reported by: wedhorn
Patches:
      cleanup.stateringout.diff uploaded by wedhorn (license 30)
Tested by: salecha, wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@313980 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-04-17 09:28:05 +00:00
David Vossel
d760e81f37 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: https://origsvn.digium.com/svn/asterisk/trunk@308582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-22 23:04:49 +00:00
Paul Belanger
3556e4c2d4 Replace ast_log(LOG_DEBUG, ...) with ast_debug()
(closes issue #18556)
Reported by: kkm

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@306258 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-04 16:55:39 +00:00
David Vossel
c26c190711 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: https://origsvn.digium.com/svn/asterisk/trunk@306010 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2011-02-03 16:22:10 +00:00
Russell Bryant
cc0b7e7df5 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: https://origsvn.digium.com/svn/asterisk/trunk@299091 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-12-20 17:15:54 +00:00
Jason Parker
27fbd5e156 Merged revisions 287643 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.8

................
  r287643 | qwell | 2010-09-20 16:29:46 -0500 (Mon, 20 Sep 2010) | 15 lines
  
  Merged revisions 287642 via svnmerge from 
  https://origsvn.digium.com/svn/asterisk/branches/1.6.2
  
  ........
    r287642 | qwell | 2010-09-20 16:28:32 -0500 (Mon, 20 Sep 2010) | 8 lines
    
    Don't crash when parking a non-bridged call.
    
    (closes issue #17680)
    Reported by: jmhunter
    Patches: 
          chan_skinny-park-v1.txt uploaded by DEA (license 3)
    Tested by: jmhunter, DEA
  ........
................


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@287644 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-09-20 21:30:12 +00:00
Damien Wedhorn
179ba271d0 Ignore redial hard button when no previous number.
(closes issue #17887)
Reported by: salecha
Patches:
      skinny.redial.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, salecha


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283495 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-24 20:42:30 +00:00
Damien Wedhorn
db994dbc6c Hack to allow easy debugging of skinny in trunk.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283289 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-23 20:50:55 +00:00
Damien Wedhorn
530be85aad Add additional AST_CONTROL_ states to control2str.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283288 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-23 20:39:05 +00:00
Damien Wedhorn
101673347f Fixes display issues on 7910 and older phones.
Also correct the callinfo provided in skinny_answer.

(closes issue #17876)
Reported by: salecha
Patches:
      skinny_cnd3.diff uploaded by wedhorn (license 30)
Tested by: salecha, wedhorn

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@283287 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-23 20:23:51 +00:00
Damien Wedhorn
0e5b6069f4 Cleanup: consolidate offhook (new call).
Consolidates all offhook (new call with dialtone) to setsubstate_offhook. This should be roughly equivalent to existing code, although a couple of calls now run through the full offhook sequence rather than an abbreviated one.

(closes issue #17812)
Reported by: wedhorn
Patches:
      cleanup.stateoffhook.diff uploaded by wedhorn (license 30)
Tested by: salecha, wedhorn

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@282701 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-18 21:34:27 +00:00
Damien Wedhorn
f8d64f8614 Fix up handling and indications during transfer.
Cleaned up handling of onhook indications and added indications if more than one sub on device. Also fixes issue in 12324 so that the phone can call itself without locking up.

(closes issue #17692)
Reported by: jmhunter
Patches:
      chan_skinny-transfer-v4.txt uploaded by DEA (license 3)
      skinnytransfver.v8.diff uploaded by wedhorn (license 30)
Tested by: jmhunter, salecha, wedhorn

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281257 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-07 22:36:08 +00:00
Damien Wedhorn
394fa75a0a Move call answering stuff into new setsubstate_connected.
Move call answering stuff into new setsubstate_connected. Also add sub->substate var and set it to SUBSTATE_CONNECTED in setsubstate_connected.

(closes issue #17772)
Reported by: wedhorn
Patches:
      cleanup.stateconnected2.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, salecha

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281227 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-07 22:17:10 +00:00
Damien Wedhorn
dcb865f68a Start rtp on answer before the answer is queued
(closes issue #17770)
Reported by: salecha
Patches:
      skinny.answercrash.diff uploaded by wedhorn (license 30)
Tested by: salecha

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@281226 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-08-07 22:07:43 +00:00
Damien Wedhorn
a352ff7f60 Cleanup transmit_ for handle_register and keepalives
Moved inline packet sending to transmit_ subs. Removed handle_keep_alive and handle_register_message to inline in handle_message. Also moved transmit_response(d) to transmit_response_bysessions(s) and created a wrapper transmit_response(d) that calls transmit_response_bysession(d->session).

(closes issue #16980)
Reported by: wedhorn
Patches:
      skinny-clean06b.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, DEA

Review: NA 


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@280589 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-30 09:12:55 +00:00
Tilghman Lesher
b4e18d5660 Add load priority order, such that preload becomes unnecessary in most cases
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@278132 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-20 19:35:02 +00:00
Mark Michelson
6fa79e8f77 Make ACLs IPv6-capable.
ACLs can now be configured to match IPv6 networks. This is only
relevant for ACLs in chan_sip for now since other channel drivers
do not support IPv6 addressing. However, once those channel drivers
are outfitted to support IPv6 addressing, the ACLs will already be
ready for IPv6 support.

https://reviewboard.asterisk.org/r/791



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@277814 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-19 14:17:16 +00:00
Richard Mudgett
cf7bbcc4c6 Expand the caller ANI field to an ast_party_id
Expand the ani field in ast_party_caller and ast_party_connected_line to
an ast_party_id.

This is an extension to the ast_callerid restructuring patch in review:
https://reviewboard.asterisk.org/r/702/

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@276393 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 16:58:03 +00:00
Richard Mudgett
ec37ffbdaf 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: https://origsvn.digium.com/svn/asterisk/trunk@276347 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-14 15:48:36 +00:00
Mark Michelson
cd4ebd336f 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: https://origsvn.digium.com/svn/asterisk/trunk@274783 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-07-08 22:08:07 +00:00
Michiel van Baak
f4617ae2b5 Ignore Redial softkey when no previous dialed number is known
(closes issue #17126)
Reported by: wedhorn
Patches: 
      skinny79xx_redial1.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-02 06:45:54 +00:00
Michiel van Baak
cc89bc0a27 Cleanup transmit_* functions
Bulk lot of generally trivial changes for cleaning up the transmit stuff. Line state request has been modified for line only responses.

(closes issue #16994)
Reported by: wedhorn
Patches: 
      skinny-clean07.diff uploaded by wedhorn (license 30)
Tested by: wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@255850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-04-02 06:43:31 +00:00
Terry Wilson
68d1ded8dd Only change the RTP ssrc when we see that it has changed
This change basically reverts the change reviewed in
https://reviewboard.asterisk.org/r/374/ and instead limits the
updating of the RTP synchronization source to only those times when we
detect that the other side of the conversation has changed the ssrc.

The problem is that SRCUPDATE control frames are sent many times where
we don't want a new ssrc, including whenever Asterisk has to send DTMF
in a normal bridge. This is also not the first time that this mistake
has been made. The initial implementation of the ast_rtp_new_source
function also changed the ssrc--and then it was removed because of
this same issue. Then, we put it back in again to fix a different
issue. This patch attempts to only change the ssrc when we see that
the other side of the conversation has changed the ssrc.

It also renames some functions to make their purpose more clear.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@252089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-12 22:04:51 +00:00
Michiel van Baak
007e52f5dc Clean transmit_* for start/stop media transmission
Small patch changing skinny_set_rtp_peer to use transmit_stopmediatransmission and to use new transmit_startmediatransmission.
Basic testing on 30VIP's by wedhorn
Basic testing on 7960 by me

(closes issue #16956)
Reported by: wedhorn
Patches:
      skinny-clean05b.diff uploaded by wedhorn (license 30)
Tested by: wedhorn,mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251222 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-07 14:53:06 +00:00
Michiel van Baak
cf51a99b24 Cleanup transmit_callstate handling
Broke the various functions included in transmit_callstate to their own functions. Transmit_callstate now just transmits callstate.

Generally left the functionality as it was, which highlight some minor code issues (eg multiple transmit_callstate's). I did however revise the hint code usage of the old transmit_callstate as it it not appropriate to put a device on hook based on the change of a hinted device.

(closes issue #16939)
Reported by: wedhorn
Patches:
      skinny-clean04.diff uploaded by wedhorn (license 30)
Tested by: mvanbaak,wedhorn



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@251221 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-07 14:46:29 +00:00
David Vossel
862ebf4d00 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: https://origsvn.digium.com/svn/asterisk/trunk@249893 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-02 19:08:38 +00:00
Michiel van Baak
3f1d9e881e Cleanup display_*message functions.
This patch splits transmit_displaymessage into transmit_clear_display_message and transmit_display_message which better aligns with the skinny protocol. The new transmit_display_message is not used in the current code, but will be and so it is commented.

Moved handle_datetime from this function to onhook and offhook functions (display now properly cleared at the end of a call on 30VIP).

Removed skinny debug messages from inline code as there's an ast_verb in transmit_clear_display_message. Also, removed commentary that it was a clear display as it is now apparent from the function name.

Split transmit_displaypromptmessage into display and clear.

(closes issue #16878)
Reported by: wedhorn
Patches: 
	skinny-clean02.diff uploaded by wedhorn (license 30)
	skinny-clean03.diff uploaded by wedhorn (license 30)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249670 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-01 19:33:26 +00:00
Michiel van Baak
7a54ee9159 fix endianes issues in chan_skinny
(closes issue #16826)
Reported by: PipoCanaja
Patches: 
      chan_skinny.c_bigendianPatch_20100218.diff uploaded by PipoCanaja (license 994)
Tested by: wedhorn



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@249669 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-03-01 19:27:34 +00:00
Michiel van Baak
55d1fcdd02 Cleanup transmit_* functions, part 1
Break transmit_tone into transmit_start_tone and transmit_stop_tone as per the skinny protocol. 

(closes issue #16874)
Reported by: wedhorn
Patches:
      skinny-clean01.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@248184 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2010-02-21 12:09:53 +00:00
Michiel van Baak
74c5417696 Let's unlock the lines list after the AST_LIST_TRAVERSE instead of inside it.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233089 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-04 16:55:07 +00:00
Michiel van Baak
c1dfce9753 Only assign line and device in handle_transfer_button when we have a subchannel.
(closes issue #16040)
Reported by: ebroad


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@233059 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-04 16:18:57 +00:00
Tilghman Lesher
f59fe83c56 More 32->64 bit codec conversions.
In the process of swapping ULAW to a place in the extended codec space, we
found several unhandled cases, where a 32-bit integer was still being used to
handle a codec field.  Most of these have been fixed with this commit, although
there is at least one case (codec_dahdi) which depends upon outside headers to
be altered before a conversion can be made.
(Fixes AST-278, SWP-459)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@231850 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-12-01 20:27:37 +00:00
Tilghman Lesher
d8e0c58437 Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@227580 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-11-04 14:05:12 +00:00
Michiel van Baak
0a67bc6610 add Parkinglot info to sip show peer <foo> and skinny show line <foo>
If we had this from the start, debugging the 'parking not using configured parkinglot'
bug would have been easier.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@215665 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-02 21:23:17 +00:00
Michiel van Baak
d7f27e6705 like in chan_sip's sip_new skinny should copy the configured parkinglot from a line to the newly created channel.
This makes callparking honor the configured parkinglot for skinny lines as well.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@215479 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-09-02 16:20:23 +00:00
Russell Bryant
0ff53eddef 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: https://origsvn.digium.com/svn/asterisk/trunk@211732 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-12 10:11:36 +00:00
Tilghman Lesher
642bec4d6f AST-2009-005
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@211539 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 19:20:57 +00:00
Michiel van Baak
41894bea92 add manager events when a skinny device registers/unregisters
like we have in chan_sip

(closes issue #15499)
Reported by: arifzaman
Patches:
      2009072600-skinnymanagerevents.diff.txt uploaded by mvanbaak (license 7)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@211475 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-10 18:01:47 +00:00
Kevin P. Fleming
e9d22f802e Rename 'canreinvite' option to 'directmedia', with backwards compatibility.
It is clear from multiple mailing list, forum, wiki and other sorts of posts
that users don't really understand the effects that the 'canreinvite' config
option actually has, and that in some cases they think that setting it to 'no'
will actually cause various other features (T.38, MOH, etc.) to not work properly,
when in fact this is not the case. This patch changes the proper name of the
option to what it should have been from the beginning ('directmedia'), but
preserves backwards compatibility for existing configurations.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@210190 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-08-03 20:48:48 +00:00
Jeff Peeler
b7cfe90404 Merged revisions 208746 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r208746 | jpeeler | 2009-07-25 01:19:50 -0500 (Sat, 25 Jul 2009) | 7 lines
  
  Fix compiling under dev-mode with gcc 4.4.0.
  
  Mostly trivial changes, but I did not know of any other way to fix the
  "dereferencing type-punned pointer will break strict-aliasing rules" error
  without creating a tmp variable in chan_skinny.
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@208749 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-07-25 06:23:18 +00:00
Russell Bryant
0264eef115 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: https://origsvn.digium.com/svn/asterisk/trunk@203638 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-26 15:28:53 +00:00
Kevin P. Fleming
4379249674 Convert a number of global module variables to 'static'.
These modules all contained variables that are module-global but not system-global,
but were not marked 'static'.



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@200587 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-06-15 17:06:34 +00:00
Eliel C. Sardanons
2c882626a0 Implement a new element in AstXML for AMI actions documentation.
A new xml element was created to manage the AMI actions documentation,
using AstXML.
To register a manager action using XML documentation it is now possible
using ast_manager_register_xml().
The CLI command 'manager show command' can be used to show the parsed
documentation.

Example manager xml documentation:
<manager name="ami action name" language="en_US">
    <synopsis>
        AMI action synopsis.
    </synopsis>
    <syntax>
        <xi:include xpointer="xpointer(...)" /> <-- for ActionID
        <parameter name="header1" required="true">
	    <para>Description</para>
	</parameter>
	...
    </syntax>
    <description>
        <para>AMI action description</para>
    </description>
    <see-also>
    	...
    </see-also>
</manager>



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196308 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-22 17:52:35 +00:00
Kevin P. Fleming
e6b2e9a750 Const-ify the world (or at least a good part of it)
This patch adds 'const' tags to a number of Asterisk APIs where they are appropriate (where the API already demanded that the function argument not be modified, but the compiler was not informed of that fact). The list includes:

- CLI command handlers
- CLI command handler arguments
- AGI command handlers
- AGI command handler arguments
- Dialplan application handler arguments
- Speech engine API function arguments

In addition, various file-scope and function-scope constant arrays got 'const' and/or 'static' qualifiers where they were missing.

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@196072 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-05-21 21:13:09 +00:00
Joshua Colp
8e4b5df187 Fix some uninitialized memory notices that appeared under valgrind.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@187772 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-10 18:02:44 +00:00
Mark Michelson
6f53ed4c67 This commit introduces COLP/CONP and Redirecting party information into Asterisk.
The channel drivers which have been most heavily tested with these enhancements are
chan_sip and chan_misdn. Further work is being done to add Q.SIG support and will be
introduced in a later commit. chan_skinny has code added to it here, but according
to user pj, the support on chan_skinny is not working as of now. This will be fixed in
a later commit.

A special thanks goes out to bugtracker user gareth for getting the ball rolling and
providing the initial support for this work. Without his initial work on this, this would
not have been nearly as painless as it was.

This functionality has been tested by Digium's product quality department, as well as a
customer site running thousands of calls every day. In addition, many many many many bugtracker
users have tested this, too.

(closes issue #8824)
Reported by: gareth

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



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@186525 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-03 22:41:46 +00:00
Joshua Colp
63de834395 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: https://origsvn.digium.com/svn/asterisk/trunk@186078 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-04-02 17:20:52 +00:00
Russell Bryant
0bdd99ad64 Merged revisions 182810 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r182810 | russell | 2009-03-17 21:09:13 -0500 (Tue, 17 Mar 2009) | 44 lines

Fix cases where the internal poll() was not being used when it needed to be.

We have seen a number of problems caused by poll() not working properly on 
Mac OSX.  If you search around, you'll find a number of references to using 
select() instead of poll() to work around these issues.  In Asterisk, we've 
had poll.c which implements poll() using select() internally.  However, we 
were still getting reports of problems.

vadim investigated a bit and realized that at least on his system, even 
though we were compiling in poll.o, the system poll() was still being used.  
So, the primary purpose of this patch is to ensure that we're using the 
internal poll() when we want it to be used.

The changes are:

1) Remove logic for when internal poll should be used from the Makefile.  
   Instead, put it in the configure script.  The logic in the configure 
   script is the same as it was in the Makefile.  Ideally, we would have 
   a functionality test for the problem, but that's not actually possible, 
   since we would have to be able to run an application on the _target_ 
   system to test poll() behavior.

2) Always include poll.o in the build, but it will be empty if AST_POLL_COMPAT
   is not defined.

3) Change uses of poll() throughout the source tree to ast_poll().  I feel 
   that it is good practice to give the API call a new name when we are 
   changing its behavior and not using the system version directly in all cases.
   So, normally, ast_poll() is just redefined to poll().  On systems where 
   AST_POLL_COMPAT is defined, ast_poll() is redefined to ast_internal_poll().

4) Change poll() in main/poll.c to be ast_internal_poll().

It's worth noting that any code that still uses poll() directly will work fine 
(if they worked fine before).  So, for example, out of tree modules that are 
using poll() will not stop working or anything.  However, for modules to work 
properly on Mac OSX, ast_poll() needs to be used.

(closes issue #13404)
Reported by: agalbraith
Tested by: russell, vadim

http://reviewboard.digium.com/r/198/

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@182847 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-03-18 02:28:55 +00:00
Michiel van Baak
99ad18c4c5 Add reload support to chan_skinny.
Special thanks goes to DEA who had to redo this patch twice
because we first put unload/load support in and later redid the way
we configure devices and lines.

(closes issue #10297)
Reported by: DEA
Patches:
      skinny-reload-trunkv2.diff uploaded by wedhorn (license 30)
      skinny-reload-trunk-v4.txt uploaded by DEA (license 3)
	  With mods by me based on feedback from wedhorn and Russell and seanbright
Tested by: DEA, mvanbaak, pj

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@179122 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-27 20:34:00 +00:00
Michiel van Baak
25056db5d0 update the new manager commands in chan_skinny to match
chan_sip's headers. requested by oej.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@178061 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-23 18:23:38 +00:00
Michiel van Baak
c880aa936b Add a couple of manager commands to chan_skinny
Added:
SKINNYdevices
SKINNYshowdevice
SKINNYlines
SKINNYshowline

(closes issue #14521)
Reported by: mvanbaak

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@177988 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-22 23:04:37 +00:00
Russell Bryant
4ec301360c Merge a large set of updates to the Asterisk indications API.
This patch includes a number of changes to the indications API.  The primary
motivation for this work was to improve stability.  The object management
in this API was significantly flawed, and a number of trivial situations could
cause crashes.

The changes included are:

1) Remove the module res_indications.  This included the critical functionality
   that actually loaded the indications configuration.  I have seen many people
   have Asterisk problems because they accidentally did not have an
   indications.conf present and loaded.  Now, this code is in the core,
   and Asterisk will fail to start without indications configuration.

   There was one part of res_indications, the dialplan applications, which did
   belong in a module, and have been moved to a new module, app_playtones.

2) Object management has been significantly changed.  Tone zones are now
   managed using astobj2, and it is no longer possible to crash Asterisk by
   issuing a reload that destroys tone zones while they are in use.

3) The API documentation has been filled out.

4) The API has been updated to follow our naming conventions.

5) Various bits of code throughout the tree have been updated to account
   for the API update.

6) Configuration parsing has been mostly re-written.

7) "Code cleanup"

The code is from svn/asterisk/team/russell/indications/.

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


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176627 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-17 20:41:24 +00:00
Tilghman Lesher
808047d54b Use the correct list macros for deleting an item from the middle of a list.
(issue #13777)
 Reported by: pj
 Patches: 
       20090203__bug13777.diff.txt uploaded by Corydon76 (license 14)
 Tested by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@176320 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-02-16 23:14:08 +00:00
Michiel van Baak
630fe3ccb8 dont segfault when a MWI event occurs on a line without a registered device
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@171081 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-25 16:50:53 +00:00
Michiel van Baak
a992164529 Dont clear the display of skinny phones when not needed.
(closes issue #13182)
Reported by: pj
Patches:
      2009011901_dontcleardisplay.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak, pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@170460 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-23 16:57:07 +00:00
Michiel van Baak
1d781feca6 Redo the event-based MWI in chan_skinny.
Dan saw regular segfaults with the old implementation and
rewrote it to make it really eventbased.
I altered it to be trunk compatible and wedhorn gave some feedback
and ideas how to make it even better.

(closes issue #13821)
Reported by: DEA
Patches:
      chan_skinny-mwi-events.txt uploaded by DEA (license 3)
Tested by: mvanbaak, DEA

"no probs by me" from wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@169367 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-19 20:09:11 +00:00
Russell Bryant
ef6ad2b53c Merged revisions 168561 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r168561 | russell | 2009-01-13 13:13:05 -0600 (Tue, 13 Jan 2009) | 2 lines

Revert unnecessary indications API change from rev 122314

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@168562 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2009-01-13 19:22:13 +00:00
Michiel van Baak
8c3a7a28bf Fix codec capability setup in chan_skinny
Behaviour now is that general codec config flows to default_line and default_device. [devices] stuff amends default_device and similar for [lines]. These are copied to individual device and line as they are created.
Added confcapability and confprefs for the configured stuff which doesn't change as device and so on are connected. prefs are based on line prefs if they exist, else the device prefs are used (prefs identifies codec order).

(closes issue #13806)
Reported by: pj
Patches:
      codecs.diff uploaded by wedhorn (license 30)
Tested by: pj and me


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@163582 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-12 17:14:13 +00:00
Eliel C. Sardanons
1e8e12efcf Janitor, use ARRAY_LEN() when possible.
(closes issue #13990)
Reported by: eliel
Patches:
      array_len.diff uploaded by eliel (license 64)



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@161218 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-05 10:31:25 +00:00
Michiel van Baak
e219598843 Add debug flag so skinny debug will show information about packets.
We dont want to scare users with this, so we added a devmode compile flag

(closes issue #13952)
Reported by: wedhorn
Patches:
      packetdebug3.diff uploaded by wedhorn (license 30)
Tested by: mvanbaak, wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@160938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-12-04 16:37:13 +00:00
Michiel van Baak
4a68fe383a dont send reorder tone after a device is hungup if a dialout is abandoned or failed.
Without this reorder tone will play after hangup and both wedhorn's and my wife have threatened to use an axe on our asterisk box

(closes issue #13948)
Reported by: wedhorn
Patches:
	switch.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158694 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:57:11 +00:00
Michiel van Baak
ced8427b09 Add Media Source Update to skinny's control2str
(issue #13948)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158690 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:48:09 +00:00
Michiel van Baak
58ff098571 fix a very occasional core dump in chan_skinny found by wedhorn.
(issue #13948)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@158688 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-22 16:06:38 +00:00
Terry Wilson
d66a8cd264 Fix checking for CONFIG_STATUS_FILEINVALID so that modules don't crash upon trying to parse an invalid config
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@157818 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-19 19:25:14 +00:00
Michiel van Baak
86f900b201 This commit does two things:
- Add CLI aliases module to asterisk.
- Remove all deprecated CLI commands from the code

Initial work done by file.
Junk-Y and lmadsen did a lot of work and testing to
get the list of deprecated commands into the configuration file.

Deprecated CLI commands are now handled by this new module,
see cli_aliases.conf for more info about that.

ok russellb@ via reviewboard

(closes issue #13735)
Reported by: mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@156120 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-12 06:46:04 +00:00
Tilghman Lesher
721b90aa4b Recorded merge of revisions 154263 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r154263 | tilghman | 2008-11-04 12:58:05 -0600 (Tue, 04 Nov 2008) | 3 lines
  
  Make the monitor thread non-detached, so it can be joined (suggested by Russell
  on -dev list).
........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@154264 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-11-04 18:59:48 +00:00
Michiel van Baak
6f860c262d dont segfault when placing a call to a line that has no registered device.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@151060 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-19 13:10:50 +00:00
Michiel van Baak
59d9255977 Break up skinny.conf into seperate sections for
devices and lines.

(closes issue #13412)
Reported by: wedhorn
Patches:
      config-restruct-v4.diff uploaded by wedhorn (license 30)


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@150426 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-10-17 06:00:28 +00:00
Michiel van Baak
d1ee16cd9a make 'module unload chan_skinny.so' actually work.
(closes issue #13524)
Reported by: wedhorn
Patches:
      unload.diff uploaded by wedhorn (license 30)
	  With small tweak by me to prevent a crash


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143799 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-20 10:39:20 +00:00
Michiel van Baak
c8c11aae99 plug a couple of memleaks in chan_skinny.
(closes issue #13452)
Reported by: pj
Patches:
      memleak5.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, pj, mvanbaak

(closes issue #13294)
Reported by: pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@143082 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-14 22:16:34 +00:00
Tilghman Lesher
08af5bb312 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: https://origsvn.digium.com/svn/asterisk/trunk@142992 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-12 23:30:03 +00:00
Michiel van Baak
cb5824d995 Added 'skinny show lines verbose'
This will print the subs and their status for every line (if any).

wedhorn did most of the work with his patch which introduced
'skinny show debug' but a discussion on IRC stated that it should be
added to 'skinny show lines'

Input on the output format by Qwell on IRC.

(closes issue #13344)
Reported by: wedhorn


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@140938 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-09-03 18:06:35 +00:00
Michiel van Baak
877549af70 fix unholding phones after hangup on older cisco phones.
Patch by wedhorn.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@139020 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-20 16:16:53 +00:00
Michiel van Baak
3f3b1d4dad chan_skinny now respects callwaiting=no
(closes issue #12691)
Reported by: sbisker
Patches:
      callwaitingv1.diff uploaded by wedhorn (license 30)
Tested by: wedhorn on old skinny phones, mvanbaak on 7960 and 7905 with latest firmware


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@138851 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-19 16:56:50 +00:00
Sean Bright
db1ed285c4 More RSW merges. This should do it for the channels/ dir.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136917 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-09 14:12:34 +00:00
Michiel van Baak
78a93bc386 show correct called party id and also store this to the 'placed calls' list once the call is connected.
(closes issue #13180)
Reported by: pj
Patches:
      2008080700_skinny_calledpartyid.diff uploaded by mvanbaak (license 7)
Tested by: mvanbaak, pj


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136679 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-07 21:19:39 +00:00
Mark Michelson
b3970abc30 Merged revisions 136062 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r136062 | mmichelson | 2008-08-06 10:58:40 -0500 (Wed, 06 Aug 2008) | 16 lines

Since adding the AST_CONTROL_SRCUPDATE frame type,
there are places where ast_rtp_new_source may be called
where the tech_pvt of a channel may not yet have an
rtp structure allocated. This caused a crash in chan_skinny,
which was fixed earlier, but now the same crash has been 
reported against chan_h323 as well. It seems that the best 
solution is to modify ast_rtp_new_source to not attempt to 
set the marker bit if the rtp structure passed in is NULL.

This change to ast_rtp_new_source also allows the removal
of what is now a redundant pointer check from chan_skinny.

(closes issue #13247)
Reported by: pj


........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@136063 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-06 15:59:29 +00:00
Michiel van Baak
340809a771 whitespace fixes only.
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135373 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-03 00:03:53 +00:00
Michiel van Baak
dc819e881e Dont coredump on register of non-configured devices
(closes issue #13224)
Reported by: mvanbaak
Patches:
      noncon.diff uploaded by wedhorn (license 30) with whitespace fixes by me
Tested by: wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135371 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-03 00:00:06 +00:00
Michiel van Baak
0f1a3177dc make this work again, and not segfault on device registration
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135332 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 13:56:00 +00:00
Kevin P. Fleming
bd28649280 --enable-dev-mode is your friend :-)
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135302 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 13:21:16 +00:00
Michiel van Baak
532c10551a pass device instead of session to transmit_ functions.
(closes issue #10396)
Reported by: wedhorn
Patches:
      transmit3a.diff uploaded by wedhorn (license 30)
Tested by: wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135300 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-02 12:29:23 +00:00
Michiel van Baak
e9fc0e572c Merged revisions 135055 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r135055 | mvanbaak | 2008-08-01 12:55:27 +0200 (Fri, 01 Aug 2008) | 8 lines

fix some potential deadlocks in chan_skinny

(closes issue #13215)
Reported by: qwell
Patches:
      2008080100_bug13215.diff.txt uploaded by mvanbaak (license 7)
Tested by: mvanbaak

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@135056 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-08-01 11:00:13 +00:00
Tilghman Lesher
0c23159464 Deprecate *_device_state_* APIs in favor of *_devstate_* APIs
git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@133860 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-25 21:20:03 +00:00
Michiel van Baak
3cb49856ae Convert chan_skinny's open-coded linked lists to the list macros
(closes issue #12956)
Reported by: DEA
Patches:
      chan_skinny-linkedlists-v2.txt uploaded by DEA (license 3)
Tested by: DEA, mvanbaak



git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@130576 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-13 22:59:35 +00:00
Brett Bryant
5b7933fe5e 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: https://origsvn.digium.com/svn/asterisk/trunk@130129 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-07-11 18:09:35 +00:00
Michiel van Baak
ea326c832f remove block of commented code to set __ourip
This is now handled in skinny_register and load_config.

part two of chan_skinny cleanup


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125596 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 23:18:46 +00:00
Michiel van Baak
8caf21863e remove paging device from chan_skinny.
This has never been used, and noone could give us info about what
it is used for.


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125593 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-26 23:14:08 +00:00
Michiel van Baak
9ba79e3b68 implement transfer functionality in chan_skinny
(closes issue #9939)
Reported by: wedhorn
Patches:
      transfer_v6.diff uploaded by wedhorn (license 30)
      chan_skinny-transfer-trunk-v10.txt uploaded by DEA (license 3)
      chan_skinny-transfer-trunk-v12.txt uploaded by mvanbaak (license 7)
Tested by: DEA, wedhorn, mvanbaak


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@125096 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-25 19:37:40 +00:00
Tilghman Lesher
596f8b5186 Merged revisions 123113 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r123113 | tilghman | 2008-06-16 14:50:12 -0500 (Mon, 16 Jun 2008) | 2 lines

Port "hasvoicemail" change from SIP to other channel drivers

........


git-svn-id: https://origsvn.digium.com/svn/asterisk/trunk@123114 65c4cc65-6c06-0410-ace0-fbb531ad65f3
2008-06-16 19:57:05 +00:00