public DataSet ConferenceCallByDirectExtension(Press3.UserDefinedClasses.HttpParameters httpParameters) { try { _cmd = new SqlCommand(); _cmd.CommandText = "ConferenceCallByDirectExtension"; _cmd.CommandType = CommandType.StoredProcedure; _cmd.Connection = Connection; _ds = new DataSet(); _da = new SqlDataAdapter(); _cmd.Parameters.Add("@CallUUID", SqlDbType.VarChar, 100).Value = httpParameters.CallUUid; _cmd.Parameters.Add("@ToNumber", SqlDbType.VarChar, 20).Value = httpParameters.ToNumber; _cmd.Parameters.Add("@FromNumber", SqlDbType.VarChar, 20).Value = httpParameters.FromNumber; _cmd.Parameters.Add("@CallEvent", SqlDbType.VarChar, 20).Value = httpParameters.Event; _cmd.Parameters.Add("@CallStatus", SqlDbType.VarChar, 20).Value = httpParameters.CallStatus; _cmd.Parameters.Add("@ConferenceDigitsMatch", SqlDbType.VarChar, 20).Value = httpParameters.ConfDigits; _cmd.Parameters.Add("@eventtimestamp", SqlDbType.BigInt).Value = httpParameters.Eventtimestamp; _cmd.Parameters.Add("@ConferenceName", SqlDbType.VarChar, 50).Value = httpParameters.ConferenceName; _cmd.Parameters.Add("@ConferenceAction", SqlDbType.VarChar, 50).Value = httpParameters.ConferenceAction; _cmd.Parameters.Add("@ConfInstanceMemberID", SqlDbType.VarChar, 100).Value = httpParameters.ConferenceMemberID; _cmd.Parameters.Add("@ConferenceUUID", SqlDbType.VarChar, 100).Value = httpParameters.ConferenceUUID; _cmd.Parameters.Add("@RequestUUID", SqlDbType.VarChar, 50).Value = httpParameters.RequestUuid; _cmd.Parameters.Add("@SequenceNumber", SqlDbType.BigInt).Value = httpParameters.SequenceNumber; _cmd.Parameters.Add("@Success", SqlDbType.Bit).Direction = ParameterDirection.Output; _cmd.Parameters.Add("@Message", SqlDbType.VarChar, -1).Direction = ParameterDirection.Output; _da.SelectCommand = _cmd; _da.Fill(_ds); if (_ds.Tables.Count > 0) { _ds.Tables[0].TableName = "GatewayDetails"; } _ds.Tables.Add(_helper.ConvertOutputParametersToDataTable(_cmd.Parameters)); }catch (Exception e) { Logger.Error("Exception while join into conference by direct extension:" + e.ToString()); } finally { _cmd = null; //if (_cmd.Connection.State == ConnectionState.Open) _cmd.Connection.Dispose(); } return(_ds); }
public DataSet UpdateConference(Press3.UserDefinedClasses.HttpParameters httpParameters) { _cmd = new SqlCommand(); _ds = new DataSet(); try { Logger.Info("httpParameters.IsCaller " + httpParameters.IsCaller.ToString() + " httpParameters.RequestUuid " + httpParameters.RequestUuid); _cmd.CommandText = "UpdateConference"; _cmd.CommandType = CommandType.StoredProcedure; _cmd.Connection = Connection; _cmd.Parameters.Add("@SequenceNumber", SqlDbType.Int).Value = httpParameters.SequenceNumber; _cmd.Parameters.Add("@MemberId", SqlDbType.Int).Value = httpParameters.ConferenceMemberID; _cmd.Parameters.Add("@EventTime", SqlDbType.BigInt, 100).Value = httpParameters.Eventtimestamp; _cmd.Parameters.Add("@ConferenceAction", SqlDbType.VarChar, 30).Value = httpParameters.ConferenceAction; _cmd.Parameters.Add("@IsCaller", SqlDbType.Bit).Value = httpParameters.IsCaller; _cmd.Parameters.Add("@IsAgent", SqlDbType.Bit).Value = httpParameters.IsAgent; _cmd.Parameters.Add("@IsTransferAgent", SqlDbType.Bit).Value = httpParameters.IsTransferToAgent; _cmd.Parameters.Add("@RequestUUID", SqlDbType.VarChar, 100).Value = httpParameters.RequestUuid; _cmd.Parameters.Add("@ConferenceRoom", SqlDbType.VarChar, 225).Value = httpParameters.ConferenceName; _cmd.Parameters.Add("@ConfMembersCount", SqlDbType.Int).Direction = ParameterDirection.Output; _cmd.Parameters.Add("@Message", SqlDbType.VarChar, 500).Direction = ParameterDirection.Output; _cmd.Parameters.Add("@Success", SqlDbType.Bit).Direction = ParameterDirection.Output; _cmd.Parameters.Add("@IsActiveAgent", SqlDbType.Bit).Direction = ParameterDirection.Output; _cmd.Parameters.Add("@IsPrivateVisited", SqlDbType.Bit).Direction = ParameterDirection.Output; Connection.Open(); _cmd.ExecuteNonQuery(); Connection.Close(); _ds.Tables.Add(_helper.ConvertOutputParametersToDataTable(_cmd.Parameters)); } catch (Exception ex) { Logger.Error(ex.ToString()); throw; } finally { _cmd = null; } return(_ds); }
public void ProcessRequest(HttpContext context) { try { Press3.UserDefinedClasses.HttpParameters freeswitchParameters = new Press3.UserDefinedClasses.HttpParameters(); freeswitchParameters.ParseParameters(context); // Press3.UserDefinedClasses.ReadRestParameters restParameters = new Press3.UserDefinedClasses.ReadRestParameters(context); if (freeswitchParameters.Event.Equals("hangup")) { string response = updateOutbound.UpdateOutboundCalls(freeswitchParameters); context.Response.Write(response); } else if (freeswitchParameters.Event.Equals("dial")) { responseJobj = updateOutbound.UpdateDial(freeswitchParameters); if (responseJobj.SelectToken("Success").ToString() == "True") { dialplanxml = "<Response><Hangup reason='Dial Details Updated Successfully'/></Response>"; } else { dialplanxml = "<Response><Hangup reason='Dail Details Updation Failed'/></Response>"; } } } catch (Exception e) { Logger.Error("Exception while processing request in outboundcallshangup:" + e.ToString()); } if (String.IsNullOrEmpty(dialplanxml)) { dialplanxml = "<Response><Hangup reason='No Xml Action Found'/></Response>"; } else { SendXmlResponse(context, dialplanxml, true); } }