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 => _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>
@@ -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 />