Example #1
0
        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);
        }
Example #2
0
        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);
            }
        }