Author: solomax
Date: Thu May 19 17:05:57 2016
New Revision: 1744605

URL: http://svn.apache.org/viewvc?rev=1744605&view=rev
Log:
[OPENMEETINGS-1384] sip timeout is made configurable

Modified:
    
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
    
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java?rev=1744605&r1=1744604&r2=1744605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-db/src/main/java/org/apache/openmeetings/db/dao/room/SipDao.java
 Thu May 19 17:05:57 2016
@@ -19,6 +19,7 @@
 package org.apache.openmeetings.db.dao.room;
 
 import org.apache.openmeetings.db.entity.room.Room;
+import org.asteriskjava.manager.DefaultManagerConnection;
 import org.asteriskjava.manager.ManagerConnection;
 import org.asteriskjava.manager.ManagerConnectionFactory;
 import org.asteriskjava.manager.ResponseEvents;
@@ -30,6 +31,7 @@ import org.asteriskjava.manager.action.D
 import org.asteriskjava.manager.action.EventGeneratingAction;
 import org.asteriskjava.manager.action.ManagerAction;
 import org.asteriskjava.manager.action.OriginateAction;
+import org.asteriskjava.manager.internal.ManagerConnectionImpl;
 import org.asteriskjava.manager.response.ManagerError;
 import org.asteriskjava.manager.response.ManagerResponse;
 import org.red5.logging.Red5LoggerFactory;
@@ -43,6 +45,7 @@ public class SipDao {
        private int sipPort;
        private String sipUsername;
        private String sipPassword;
+       private long timeout;
        private ManagerConnectionFactory factory;
 
        @SuppressWarnings("unused")
@@ -50,20 +53,30 @@ public class SipDao {
                // prohibited default constructor
        }
 
-       public SipDao(String sipHostname, int sipPort, String sipUsername, 
String sipPassword) {
+       public SipDao(String sipHostname, int sipPort, String sipUsername, 
String sipPassword, long timeout) {
                this.sipHostname = sipHostname;
                this.sipPort = sipPort;
                this.sipUsername = sipUsername;
                this.sipPassword = sipPassword;
+               this.timeout = timeout;
                factory = new ManagerConnectionFactory(this.sipHostname, 
this.sipPort, this.sipUsername, this.sipPassword);
        }
 
+       private ManagerConnection getConnection() {
+               DefaultManagerConnection con = 
(DefaultManagerConnection)factory.createManagerConnection(); // TODO secure
+               con.setDefaultEventTimeout(timeout);
+               con.setDefaultResponseTimeout(timeout);
+               con.setSocketReadTimeout((int)timeout);
+               con.setSocketTimeout((int)timeout);
+               return con;
+       }
+       
        private ManagerResponse exec(ManagerAction action) {
                if (factory == null) {
                        log.warn("There is no Asterisk configured");
                        return null;
                }
-               ManagerConnection con = factory.createManagerConnection(); // 
TODO secure
+               ManagerConnection con = getConnection();
                try {
                        con.login();
                        ManagerResponse r = con.sendAction(action);
@@ -90,7 +103,7 @@ public class SipDao {
                        log.warn("There is no Asterisk configured");
                        return null;
                }
-               ManagerConnection con = factory.createManagerConnection(); // 
TODO secure
+               ManagerConnection con = getConnection();
                try {
                        con.login("on");
                        ResponseEvents r = 
con.sendEventGeneratingAction(action);

Modified: 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
URL: 
http://svn.apache.org/viewvc/openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml?rev=1744605&r1=1744604&r2=1744605&view=diff
==============================================================================
--- 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 (original)
+++ 
openmeetings/application/branches/3.1.x/openmeetings-web/src/main/webapp/WEB-INF/classes/openmeetings-applicationContext.xml
 Thu May 19 17:05:57 2016
@@ -202,12 +202,13 @@
        <bean id="roommanagement" 
class="org.apache.openmeetings.core.data.conference.RoomManager" />
        <bean id="roomDao" class="org.apache.openmeetings.db.dao.room.RoomDao"/>
        <bean id="sipDao" class="org.apache.openmeetings.db.dao.room.SipDao">
-       <!--  Should be uncommented and updated with real values for Asterisk
-               <constructor-arg><value>127.0.0.1</value></constructor-arg>
+       <!--  Should be uncommented and updated with real values for Asterisk-->
+               <constructor-arg><value>192.168.15.178</value></constructor-arg>
                <constructor-arg><value>5038</value></constructor-arg>
                <constructor-arg><value>openmeetings</value></constructor-arg>
                <constructor-arg><value>12345</value></constructor-arg>
-        -->
+               <constructor-arg><value>5000</value></constructor-arg>
+        <!-- -->
        </bean>
        <bean id="invitationDao" 
class="org.apache.openmeetings.db.dao.room.InvitationDao" />
        <bean id="groupDao" 
class="org.apache.openmeetings.db.dao.user.GroupDao" />


Reply via email to