[asterisk-commits] oej: branch oej/roibos-cng-support-1.8 r376468 - /team/oej/roibos-cng-support...
SVN commits to the Asterisk project
asterisk-commits at lists.digium.com
Mon Nov 19 09:32:17 CST 2012
Author: oej
Date: Mon Nov 19 09:32:11 2012
New Revision: 376468
URL: http://svnview.digium.com/svn/asterisk?view=rev&rev=376468
Log:
Updating docs
Modified:
team/oej/roibos-cng-support-1.8/README.roibos-cng.txt
Modified: team/oej/roibos-cng-support-1.8/README.roibos-cng.txt
URL: http://svnview.digium.com/svn/asterisk/team/oej/roibos-cng-support-1.8/README.roibos-cng.txt?view=diff&rev=376468&r1=376467&r2=376468
==============================================================================
--- team/oej/roibos-cng-support-1.8/README.roibos-cng.txt (original)
+++ team/oej/roibos-cng-support-1.8/README.roibos-cng.txt Mon Nov 19 09:32:11 2012
@@ -3,7 +3,7 @@
Started: 2012-09-18
-Updated: 2012-11-13
+Updated: 2012-11-19
@@ -26,22 +26,20 @@
Asterisk Architecture
=====================
In a bridged call, where one end is SIP with CNG enabled, the RTP system
-will get an incoming CNG frame with a noise level. THis will be sent
+will get an incoming CNG frame with a noise level. This will be sent
over the bridge to the bridged channel.
If that channel is SIP with CNG enabled for the call, the RTP system
-will send out a CNG frame.
+will send out a CNG frame. This is to enable forwarding a CNG frame
+across to another SIP device which now gets the responsibility to play out
+the noise.
It that channel is a type that doesn't support CNG or SIP with CNG
disabled, then Asterisk needs to generate noise in the bridged
-channel - not the SIP channel that received the CNG frame. This is
-to enable forwarding a CNG across to another SIP device which now
-gets the responsibility to play out the noise.
-
-The architecture for this may be using Asterisk Framehooks, but is still
-under discussion.
+channel - not the SIP channel that received the CNG frame.
Current state:
+==============
* RTP Channel
-------------
@@ -59,24 +57,35 @@
* Core
------
-
- If a generator is active and CNG is received, Asterisk moves to timer based
generation of outbound packets
- Comfort noise generator added to core
+- Comfort noise generator will be used when CNG frame is received, until the RTP
+ channel signals that CNG will end.
-To add comfort noise support
-----------------------------
+Debugging
+=========
+Place a call between one phone that supports CN (I've used a SNOM 820) and a
+phone that lacks support for it (or has it disabled for testing).
+- Turn on RTP debug and SIP debug.
+- Set core debug to 3.
+You will now see that Asterisk receives a CN RTP packet, and will activate
+the noise generator on the other channel. This happens many times during
+the call.
-- For inbound streams, generate noise in calls
-- For outbound we can as step 1 just never send any CNG packets
+Todo :: comfort noise support
+-----------------------------
+ - Check how this affects RTP bridge and queue bridge
- Add CN support in SDP for outbound calls
- As step 2, add silence detection to calls
- - Measure noise level
- - Start sending CNG
- - Listen for talk detection
- - Stop sending CNG, send media
+ - Measure noise level
+ - Start sending CNG
+ - Listen for talk detection
+ - Stop sending CNG, send media
Done:
+ - Support in core bridge
+ - For inbound streams, generate noise in calls (both inbound and outbound calls)
- Added res_noise.c from cmantunes from https://issues.asterisk.org/jira/browse/ASTERISK-5263
This includes a noise generator
- Add SIP negotiation in SDP - done
@@ -132,12 +141,3 @@
8031, and this square wave represents 0dBov. This translates into
6.18dBm0.
-Notes from chat with FILE (Joshua Colp) 2012-11-13:
-
-file:
-so yeah you'd have to add code to ast_bridge_call to check the CNG availability and add a frame hook to the appropriate channel
-[5:44pm] file:
-then once it returns to remove the frame hook
-[5:45pm] file:
-and by using a frame hook you can keep the associated code contained elsewhere and cause minimal changes to things as a whole
-
More information about the asterisk-commits
mailing list