You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@openmeetings.apache.org by so...@apache.org on 2013/02/27 08:15:00 UTC

svn commit: r1450631 - in /openmeetings/trunk/singlewebapp: docs/red5sip-integration_2.1.html src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java xdocs/red5sip-integration_2.1.xml

Author: solomax
Date: Wed Feb 27 07:14:59 2013
New Revision: 1450631

URL: http://svn.apache.org/r1450631
Log:
SIP: sip-rooms are now NOT available for external sip users until "SIP-Transport" enters the room

Modified:
    openmeetings/trunk/singlewebapp/docs/red5sip-integration_2.1.html
    openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
    openmeetings/trunk/singlewebapp/xdocs/red5sip-integration_2.1.xml

Modified: openmeetings/trunk/singlewebapp/docs/red5sip-integration_2.1.html
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/docs/red5sip-integration_2.1.html?rev=1450631&r1=1450630&r2=1450631&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/docs/red5sip-integration_2.1.html (original)
+++ openmeetings/trunk/singlewebapp/docs/red5sip-integration_2.1.html Wed Feb 27 07:14:59 2013
@@ -805,7 +805,7 @@ limitations under the License.
 						allow=h264<br />
 						host=dynamic<br />
 						nat=force_rport,comedia<br />
-						context=rooms<br />
+						context=rooms-red5sip<br />
 					</i>
 				</blockquote>
 			</div>
@@ -821,16 +821,6 @@ limitations under the License.
 			</div>
                                                 <br />
                                                 <div>
-				Modify <tt>/etc/asterisk/confbridge.conf</tt><br />
-				<strong>Add/uncomment the following line in <tt>[default_bridge]</tt> section</strong>:<br />
-				<blockquote>
-					<i>
-						video_mode = follow_talker<br />
-					</i>
-				</blockquote>
-			</div>
-                                                <br />
-                                                <div>
 				Modify <tt>/etc/asterisk/extensions.conf</tt><br />
 				<strong>Add the following section</strong>:<br />
 				<blockquote>
@@ -838,12 +828,51 @@ limitations under the License.
 						[rooms]<br />
 						exten =&gt; _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail)<br />
 						exten =&gt; _400X!,n(ok),SET(PIN=${DB(openmeetings/rooms/${EXTEN})})<br />
+						exten =&gt; _400X!,n,Set(CONFBRIDGE(user,template)=sip_user)<br />
 						exten =&gt; _400X!,n,Set(CONFBRIDGE(user,pin)=${PIN})<br />
-						exten =&gt; _400X!,n,Confbridge(${EXTEN},,default_user)<br />
+						exten =&gt; _400X!,n(ok),Confbridge(${EXTEN},default_bridge,)<br />
 						exten =&gt; _400X!,n,Hangup<br />
 						exten =&gt; _400X!,n(notavail),Answer()<br />
 						exten =&gt; _400X!,n,Playback(invalid)<br />
 						exten =&gt; _400X!,n,Hangup<br />
+						<br />
+						[rooms-originate]<br />
+						exten =&gt; _400X!,1,Confbridge(${EXTEN},default_bridge,sip_user)<br />
+						exten =&gt; _400X!,n,Hangup<br />
+						<br />
+						[rooms-out]<br />
+						; *****************************************************<br />
+						; Extensions for outgoing calls from Openmeetings room.<br />
+						; *****************************************************<br />
+						<br />
+						[rooms-red5sip]<br />
+						exten =&gt; _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavil)<br />
+						exten =&gt; _400X!,n(ok),Confbridge(${EXTEN},default_bridge,red5sip_user)<br />
+						exten =&gt; _400X!,n(notavail),Hangup <br />
+					</i>
+				</blockquote>
+			</div>
+                                                <br />
+                                                <div>
+				Modify <tt>/etc/asterisk/confbridge.conf</tt><br />
+				<strong>Add/Modify the following secions</strong>:<br />
+				<blockquote>
+					<i>
+						[general]<br />
+						<br />
+						[red5sip_user]<br />
+						type=user<br />
+						marked=yes<br />
+						<br />
+						[sip_user]<br />
+						type=user<br />
+						end_marked=yes<br />
+						wait_marked=yes<br />
+						music_on_hold_when_empty=yes<br />
+						<br />
+						[default_bridge]<br />
+						type=bridge<br />
+						video_mode=follow_talker<br /> 
 					</i>
 				</blockquote>
 			</div>
@@ -863,8 +892,8 @@ limitations under the License.
 						secret = 12345<br />
 						deny=0.0.0.0/0.0.0.0<br />
 						permit=127.0.0.1/255.255.255.0<br />
-						read = all,reporting<br />
-						write = all,system,call,command,originate<br />
+						read = all<br />
+						write = all<br />
 					</i>
 				</blockquote>
 			</div>

Modified: openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java?rev=1450631&r1=1450630&r2=1450631&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java (original)
+++ openmeetings/trunk/singlewebapp/src/org/apache/openmeetings/remote/red5/ScopeApplicationAdapter.java Wed Feb 27 07:14:59 2013
@@ -2824,18 +2824,21 @@ public class ScopeApplicationAdapter ext
      * Perform call to specified phone number and join to conference
      * @param number to call
      */
-    public synchronized void joinToConfCall(String number) {
-        IConnection current = Red5.getConnectionLocal();
-        String streamid = current.getClient().getId();
-        Client currentClient = sessionManager.getClientByStreamId(streamid, null);
-        try {
-        	String sipNumber = getSipNumber(currentClient.getRoom_id());
-            log.debug("asterisk -rx \"originate Local/" + number + "@rooms extension " + sipNumber + "@rooms\"");
-            Runtime.getRuntime().exec(new String[]{"asterisk", "-rx", "originate Local/" + number + "@rooms extension " + sipNumber + "@rooms"});
-        } catch (IOException e) {
-            log.error("Executing asterisk originate error: ", e);
-        }
-    }
+	public synchronized void joinToConfCall(String number) {
+		IConnection current = Red5.getConnectionLocal();
+		String streamid = current.getClient().getId();
+		Client currentClient = sessionManager.getClientByStreamId(streamid, null);
+		try {
+			String sipNumber = getSipNumber(currentClient.getRoom_id());
+			log.debug("asterisk -rx \"originate Local/" + number + "@rooms-out extension " + sipNumber
+					+ "@rooms-originate\"");
+			Runtime.getRuntime().exec(
+					new String[] { "asterisk", "-rx",
+							"originate Local/" + number + "@rooms-out extension " + sipNumber + "@rooms-originate" });
+		} catch (IOException e) {
+			log.error("Executing asterisk originate error: ", e);
+		}
+	}
 
     public synchronized String getSipNumber(Long room_id) {
         Room r = roomDao.get(room_id);

Modified: openmeetings/trunk/singlewebapp/xdocs/red5sip-integration_2.1.xml
URL: http://svn.apache.org/viewvc/openmeetings/trunk/singlewebapp/xdocs/red5sip-integration_2.1.xml?rev=1450631&r1=1450630&r2=1450631&view=diff
==============================================================================
--- openmeetings/trunk/singlewebapp/xdocs/red5sip-integration_2.1.xml (original)
+++ openmeetings/trunk/singlewebapp/xdocs/red5sip-integration_2.1.xml Wed Feb 27 07:14:59 2013
@@ -134,7 +134,7 @@
 						allow=h264<br />
 						host=dynamic<br />
 						nat=force_rport,comedia<br />
-						context=rooms<br />
+						context=rooms-red5sip<br />
 					</i>
 				</blockquote>
 			</div><br />
@@ -148,15 +148,6 @@
 				</blockquote>
 			</div><br />
 			<div>
-				Modify <tt>/etc/asterisk/confbridge.conf</tt><br />
-				<strong>Add/uncomment the following line in <tt>[default_bridge]</tt> section</strong>:<br />
-				<blockquote>
-					<i>
-						video_mode = follow_talker<br />
-					</i>
-				</blockquote>
-			</div><br />
-			<div>
 				Modify <tt>/etc/asterisk/extensions.conf</tt><br />
 				<strong>Add the following section</strong>:<br />
 				<blockquote>
@@ -164,12 +155,50 @@
 						[rooms]<br />
 						exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavail)<br />
 						exten => _400X!,n(ok),SET(PIN=${DB(openmeetings/rooms/${EXTEN})})<br />
+						exten => _400X!,n,Set(CONFBRIDGE(user,template)=sip_user)<br />
 						exten => _400X!,n,Set(CONFBRIDGE(user,pin)=${PIN})<br />
-						exten => _400X!,n,Confbridge(${EXTEN},,default_user)<br />
+						exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,)<br />
 						exten => _400X!,n,Hangup<br />
 						exten => _400X!,n(notavail),Answer()<br />
 						exten => _400X!,n,Playback(invalid)<br />
 						exten => _400X!,n,Hangup<br />
+						<br />
+						[rooms-originate]<br />
+						exten => _400X!,1,Confbridge(${EXTEN},default_bridge,sip_user)<br />
+						exten => _400X!,n,Hangup<br />
+						<br />
+						[rooms-out]<br />
+						; *****************************************************<br />
+						; Extensions for outgoing calls from Openmeetings room.<br />
+						; *****************************************************<br />
+						<br />
+						[rooms-red5sip]<br />
+						exten => _400X!,1,GotoIf($[${DB_EXISTS(openmeetings/rooms/${EXTEN})}]?ok:notavil)<br />
+						exten => _400X!,n(ok),Confbridge(${EXTEN},default_bridge,red5sip_user)<br />
+						exten => _400X!,n(notavail),Hangup <br />
+					</i>
+				</blockquote>
+			</div><br />
+			<div>
+				Modify <tt>/etc/asterisk/confbridge.conf</tt><br />
+				<strong>Add/Modify the following secions</strong>:<br />
+				<blockquote>
+					<i>
+						[general]<br />
+						<br />
+						[red5sip_user]<br />
+						type=user<br />
+						marked=yes<br />
+						<br />
+						[sip_user]<br />
+						type=user<br />
+						end_marked=yes<br />
+						wait_marked=yes<br />
+						music_on_hold_when_empty=yes<br />
+						<br />
+						[default_bridge]<br />
+						type=bridge<br />
+						video_mode=follow_talker<br /> 
 					</i>
 				</blockquote>
 			</div><br />
@@ -188,8 +217,8 @@
 						secret = 12345<br />
 						deny=0.0.0.0/0.0.0.0<br />
 						permit=127.0.0.1/255.255.255.0<br />
-						read = all,reporting<br />
-						write = all,system,call,command,originate<br />
+						read = all<br />
+						write = all<br />
 					</i>
 				</blockquote>
 			</div><br />