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" />