dect
/
asterisk
Archived
13
0
Fork 0
Commit Graph

34 Commits

Author SHA1 Message Date
dvossel 4aca3187a3 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: http://svn.digium.com/svn/asterisk/trunk@306010 f38db490-d61c-443f-a65b-d21fe96a405b
2011-02-03 16:22:10 +00:00
twilson 15f42844ef Remove built-in AES code and use optional_api instead
Review: https://reviewboard.asterisk.org/r/793/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@278538 f38db490-d61c-443f-a65b-d21fe96a405b
2010-07-21 19:11:32 +00:00
tilghman 3bacd4082e Expand codec bitfield from 32 bits to 64 bits.
Reviewboard: https://reviewboard.asterisk.org/r/416/


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@227580 f38db490-d61c-443f-a65b-d21fe96a405b
2009-11-04 14:05:12 +00:00
dvossel 39acf19959 Merge code associated with AST-2009-006
(closes issue #12912)
Reported by: rathaus
Tested by: tilghman, russell, dvossel, dbrooks


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@215955 f38db490-d61c-443f-a65b-d21fe96a405b
2009-09-03 16:31:54 +00:00
dvossel 9925f010f9 Merged revisions 194557,194685 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r194557 | dvossel | 2009-05-14 17:59:43 -0500 (Thu, 14 May 2009) | 10 lines
  
  IAX2 "Ghost" Channels
  
  There is a bug tracker issue where people are reporting "Ghost" channels in their 'iax2 show channels' output.  The confusion is caused by channels being listed as "(NONE)" with format "unknown".  These are not channels of coarse.  They are usually just pending registration or poke requests, but it is confusing output.  To help make sense of this I have added two columns to 'iax2 show channels'.  One shows the first message which started the transaction, and the second shows the last message sent by either side of the call.  This helps diagnose why the entry exists and why it may not go away.
  
  (closes issue #14207)
  Reported by: clive18
  
  Review: https://reviewboard.asterisk.org/r/246/
........
  r194685 | dvossel | 2009-05-15 10:40:37 -0500 (Fri, 15 May 2009) | 6 lines
  
  Update to previous IAX2 "Ghost" Channels patch.
  
  Fixed some comments made on reviewboard for the previous patch.
  
  (issue #14207)
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@194833 f38db490-d61c-443f-a65b-d21fe96a405b
2009-05-15 20:52:12 +00:00
dvossel 5e031dc5f9 Merged revisions 181340 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
  r181340 | dvossel | 2009-03-11 12:25:31 -0500 (Wed, 11 Mar 2009) | 11 lines
  
  encrypted IAX2 during packet loss causes decryption to fail on retransmitted frames
  
  If an iax channel is encrypted, and a retransmit frame is sent, that packet's iseqno is updated while it is encrypted.  This causes the entire frame to be corrupted.  When the corrupted frame is sent, the other side decrypts it and sends a VNAK back because the decrypted frame doesn't make any sense.  When we get the VNAK, we look through the sent queue and send the same corrupted frame causing a loop.  To fix this, encrypted frames requiring retransmission are decrypted, updated, then re-encrypted.  Since key-rotation may change the key held by the pvt struct, the keys used for encryption/decryption are held within the iax_frame to guarantee they remain correct.
  
  (closes issue #14607)
  Reported by: stevenla
  Tested by: dvossel
  
  Review: http://reviewboard.digium.com/r/192/
........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@181371 f38db490-d61c-443f-a65b-d21fe96a405b
2009-03-11 17:34:57 +00:00
dvossel 6c67e59d30 Fixes issue with IAX2 transfer not handing off calls. Reverts changes in 116884
Fixes issue with IAX2 transfers not taking place. As it was, a call that was being transfered would never be handed off correctly to the call ends because of how call numbers were stored in a hash table. The hash table, "iax_peercallno_pvt", storing all the current call numbers did not take into account the complications associated with transferring a call, so a separate hash table was required. This second hash table "iax_transfercallno_pvt" handles calls being transfered, once the call transfer is complete the call is removed from the transfer hash table and added to the peer hash table resuming normal operations. Addition functions were created to handle storing, removing, and comparing items in the iax_transfercallno_pvt table. The changes reverted in 116884 caused backwards compatibility issues involving iax2 transfer with 1.6.0, 1.4, and 1.2. 
  
(closes issue #13468)
Reported by: nicox
Tested by: dvossel



git-svn-id: http://svn.digium.com/svn/asterisk/trunk@173502 f38db490-d61c-443f-a65b-d21fe96a405b
2009-02-04 21:25:14 +00:00
file 244af566c7 Improve native transfers when a chain of IAX2 connections are in use.
(closes issue #7567)
Reported by: tjd
Patches:
      bug_7567_update_v2.diff uploaded by snuffy (license 35)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@116884 f38db490-d61c-443f-a65b-d21fe96a405b
2008-05-17 19:39:35 +00:00
russell 94cdda3f04 Merged revisions 75445 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

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

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

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

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

........

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


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@75446 f38db490-d61c-443f-a65b-d21fe96a405b
2007-07-17 20:49:09 +00:00
russell 8d14d22558 Merge changes from team/russell/iax2_osp
This set of changes adds OSP support to chan_iax2.  However, I have modified
the patch a bit from what was submitted.  You now use the CHANNEL() function
to get and set the OSP token for IAX2.

(issue #8531, reported by and original patch by homesick, patch updated by me)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@61702 f38db490-d61c-443f-a65b-d21fe96a405b
2007-04-20 21:12:53 +00:00
tilghman 4373b2af13 IAX2 remote variables - Bug 7619
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@51123 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-16 08:38:59 +00:00
kpfleming 7457dc351c Merged revisions 49465 via svnmerge from
https://origsvn.digium.com/svn/asterisk/branches/1.4

........
r49465 | kpfleming | 2007-01-04 12:31:55 -0600 (Thu, 04 Jan 2007) | 2 lines

only do IAX2 frame caching for voice and video frames

........


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@49466 f38db490-d61c-443f-a65b-d21fe96a405b
2007-01-04 18:32:23 +00:00
russell 53f8d43e29 Merge team/russell/frame_caching
There are some situations in Asterisk where ast_frame and/or iax_frame
structures are rapidly allocatted and freed (at least 50 times per second
for one call).

This code significantly improves the performance of ast_frame_header_new(), 
ast_frdup(), ast_frfree(), iax_frame_new(), and iax_frame_free() by keeping
a thread-local cache of these structures and using frames from the cache 
whenever possible instead of calling malloc/free every time.

This commit also converts the ast_frame and iax_frame structures to use the
linked list macros.


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@41278 f38db490-d61c-443f-a65b-d21fe96a405b
2006-08-29 20:50:36 +00:00
kpfleming 21d21f89c0 use string fields for some stuff in ast_channel
const-ify some more APIs
remove 'type' field from ast_channel, in favor of the one in the channel's tech structure
allow string field module users to specify the 'chunk size' for pool allocations
update chan_alsa to be compatible with recent const-ification patches


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@9060 f38db490-d61c-443f-a65b-d21fe96a405b
2006-02-01 23:05:28 +00:00
kpfleming 24c1e3c222 git-svn-id: http://svn.digium.com/svn/asterisk/trunk@7221 f38db490-d61c-443f-a65b-d21fe96a405b 2005-11-29 18:24:39 +00:00
russell bb65d2e30a more doxygenification (issue #5513)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6852 f38db490-d61c-443f-a65b-d21fe96a405b
2005-10-26 13:03:17 +00:00
russell 7258be9c1e don't use a signed buffer for data that the protocol specifies as unsigned.
This fixes an issues with RSA authentication (issue #5148)


git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6554 f38db490-d61c-443f-a65b-d21fe96a405b
2005-09-09 01:07:25 +00:00
kpfleming abf34c0a59 use unsigned char for data elements and native-signed char for strings (issue #5104)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@6508 f38db490-d61c-443f-a65b-d21fe96a405b
2005-09-02 19:17:19 +00:00
markster 08db13f776 Add support for receiver reports (bug #3236, with mods)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@5012 f38db490-d61c-443f-a65b-d21fe96a405b
2005-02-12 18:52:14 +00:00
markster 44a872aadc Allow multiple bindaddrs so asterisk uses the same interface for tx as rx
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4756 f38db490-d61c-443f-a65b-d21fe96a405b
2005-01-11 17:08:52 +00:00
markster 4c5d430977 Merge experimental codec preferences for IAX2 (bug #2971)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4727 f38db490-d61c-443f-a65b-d21fe96a405b
2005-01-09 10:32:53 +00:00
markster 8b4c7c6f2e Minor IAX2 fixes, add incomplete-but-very-basically-functional IAX2 encryption
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4595 f38db490-d61c-443f-a65b-d21fe96a405b
2004-12-29 23:02:21 +00:00
markster 7d6a256893 Merge Tilghman's cause codes patch (bug #3032)
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4558 f38db490-d61c-443f-a65b-d21fe96a405b
2004-12-26 22:33:25 +00:00
markster fc16142d07 Add sampling rate handling
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@4299 f38db490-d61c-443f-a65b-d21fe96a405b
2004-11-19 21:52:25 +00:00
markster f01f076e6d Add iax2 parsing for TNS/TON/PRES
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3877 f38db490-d61c-443f-a65b-d21fe96a405b
2004-10-02 01:56:08 +00:00
markster 41300db58d Add IAX provisioning support to Asterisk
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3382 f38db490-d61c-443f-a65b-d21fe96a405b
2004-07-07 09:34:01 +00:00
markster c57919ab72 Enable understanding of service identifier and provisioning version
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@3065 f38db490-d61c-443f-a65b-d21fe96a405b
2004-05-25 04:34:43 +00:00
markster 89db87c9d3 Add IAX2 firmware upgrade support
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@2234 f38db490-d61c-443f-a65b-d21fe96a405b
2004-02-24 21:27:16 +00:00
markster 05be3214f5 Update IAX2 parser for sending caller info
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1599 f38db490-d61c-443f-a65b-d21fe96a405b
2003-10-01 22:59:06 +00:00
markster 67b5919a15 Add transfer to IAX2, and transfer application
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@1016 f38db490-d61c-443f-a65b-d21fe96a405b
2003-05-14 05:33:06 +00:00
markster c74bf18fcf IAX2 updates, dial fix
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@873 f38db490-d61c-443f-a65b-d21fe96a405b
2003-04-19 18:12:41 +00:00
markster 6ff1dd3a9f Add transfer ID for potential use in more complex NAT environments
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@661 f38db490-d61c-443f-a65b-d21fe96a405b
2003-03-20 05:56:00 +00:00
matteo 15d2f7aa97 Tue Mar 18 07:00:01 CET 2003
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@652 f38db490-d61c-443f-a65b-d21fe96a405b
2003-03-18 06:00:18 +00:00
matteo 342cf00fb7 dom mar 16 23:37:23 CET 2003
git-svn-id: http://svn.digium.com/svn/asterisk/trunk@647 f38db490-d61c-443f-a65b-d21fe96a405b
2003-03-16 22:37:31 +00:00