[Freeswitch-svn] [commit] r8297 - in freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket: . ChannelEvents Commands
Freeswitch SVN
verifier at freeswitch.org
Thu May 8 08:00:59 EDT 2008
Author: verifier
Date: Thu May 8 08:00:55 2008
New Revision: 8297
Added:
freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/DeflectCmd.cs
Modified:
freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs
freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs
freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs
freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj
Log:
fixed hangup cause parsing.
Modified: freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs
==============================================================================
--- freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs (original)
+++ freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelEvents/EventChannelHangup.cs Thu May 8 08:00:55 2008
@@ -1,77 +1,16 @@
using System;
-using System.Collections.Generic;
-using System.Text;
namespace FreeSwitch.EventSocket
{
public class EventChannelHangup : EventChannelState
{
- private Causes m_hangupCause;
+ private HangupCause _hangupCause;
- public enum Causes
- {
- Success,
- NoRouteTransitNet,
- NoRouteDestination,
- ChannelUnacceptable,
- CallAwardedDelivered,
- NormalClearing,
- UserBusy,
- NoUserResponse,
- NoAnswer,
- SubscriberAbsent,
- CallRejected,
- NumberChanged,
- RedirectionToNewDestination,
- ExchangeRoutingError,
- DestinationOutOfOrder,
- InvalidNumberFormat,
- FacilityRejected,
- ResponseToStatusEnquiry,
- NormalUnspecified,
- NormalCircuitCongestion,
- NetworkOutOfOrder,
- NormalTemporaryFailure,
- SwitchCongestion,
- AccessInfoDiscarded,
- RequestedChanUnavail,
- PreEmpted,
- FacilityNotSubscribed,
- OutgoingCallBarred,
- IncomingCallBarred,
- BearercapabilityNotauth,
- BearercapabilityNotavail,
- ServiceUnavailable,
- ChanNotImplemented,
- FacilityNotImplemented,
- ServiceNotImplemented,
- InvalidCallReference,
- IncompatibleDestination,
- InvalidMsgUnspecified,
- MandatoryIeMissing,
- MessageTypeNonexist,
- WrongMessage,
- IeNonexist,
- InvalidIeContents,
- WrongCallState,
- RecoveryOnTimerExpire,
- MandatoryIeLengthError,
- ProtocolError,
- Interworking,
- OriginatorCancel,
- Crash,
- SystemShutdown,
- LoseRace,
- ManagerRequest,
- BlindTransfer,
- AttendedTransfer,
- AllottedTimeout
- }
- public Causes Cause
+ public HangupCause Cause
{
- get { return m_hangupCause; }
- set { m_hangupCause = value; }
+ get { return _hangupCause; }
+ set { _hangupCause = value; }
}
public override bool ParseCommand(string name, string value)
@@ -79,7 +18,14 @@
if (name == "hangupcause" || name == "hangup-cause")
{
string cause = StringHelper.UpperCaseToCamelCase(value);
- m_hangupCause = (Causes)Enum.Parse(typeof(Causes), cause);
+ try
+ {
+ _hangupCause = (HangupCause)Enum.Parse(typeof(HangupCause), cause, true);
+ }
+ catch(ArgumentException)
+ {
+ _hangupCause = HangupCause.Unknown;
+ }
}
else
return base.ParseCommand(name, value);
@@ -88,4 +34,67 @@
}
}
+
+ public enum HangupCause
+ {
+ Success,
+ NoRouteTransitNet,
+ NoRouteDestination,
+ ChannelUnacceptable,
+ CallAwardedDelivered,
+ NormalClearing,
+ UserBusy,
+ NoUserResponse,
+ NoAnswer,
+ SubscriberAbsent,
+ CallRejected,
+ NumberChanged,
+ RedirectionToNewDestination,
+ ExchangeRoutingError,
+ DestinationOutOfOrder,
+ InvalidNumberFormat,
+ FacilityRejected,
+ ResponseToStatusEnquiry,
+ NormalUnspecified,
+ NormalCircuitCongestion,
+ NetworkOutOfOrder,
+ NormalTemporaryFailure,
+ SwitchCongestion,
+ AccessInfoDiscarded,
+ RequestedChanUnavail,
+ PreEmpted,
+ FacilityNotSubscribed,
+ OutgoingCallBarred,
+ IncomingCallBarred,
+ BearercapabilityNotauth,
+ BearercapabilityNotavail,
+ ServiceUnavailable,
+ ChanNotImplemented,
+ FacilityNotImplemented,
+ ServiceNotImplemented,
+ InvalidCallReference,
+ IncompatibleDestination,
+ InvalidMsgUnspecified,
+ MandatoryIeMissing,
+ MessageTypeNonexist,
+ WrongMessage,
+ IeNonexist,
+ InvalidIeContents,
+ WrongCallState,
+ RecoveryOnTimerExpire,
+ MandatoryIeLengthError,
+ ProtocolError,
+ Interworking,
+ OriginatorCancel,
+ Crash,
+ SystemShutdown,
+ LoseRace,
+ ManagerRequest,
+ BlindTransfer,
+ AttendedTransfer,
+ AllottedTimeout,
+ UnAllocated,
+ Unknown
+ }
+
}
Modified: freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs
==============================================================================
--- freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs (original)
+++ freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/ChannelInfo.cs Thu May 8 08:00:55 2008
@@ -19,16 +19,16 @@
public class ChannelInfo
{
- private ChannelState m_state;
- private int m_stateNumber;
+ private ChannelState _state;
+ private int _stateNumber;
private string _profile;
- private string m_address;
+ private string _address;
private string _hostName;
- private string m_protocol = string.Empty;
- private string m_readCodecName;
- private int m_readCodecRate;
- private string m_writeCodecName;
- private int m_writeCodecRate;
+ private string _protocol = string.Empty;
+ private string _readCodecName;
+ private int _readCodecRate;
+ private string _writeCodecName;
+ private int _writeCodecRate;
/// <summary>
/// Coded used to read information from the channel.
@@ -36,8 +36,8 @@
/// </summary>
public string ReadCodecName
{
- get { return m_readCodecName; }
- set { m_readCodecName = value; }
+ get { return _readCodecName; }
+ set { _readCodecName = value; }
}
/// <summary>
@@ -46,8 +46,8 @@
/// </summary>
public int ReadCodecRate
{
- get { return m_readCodecRate; }
- set { m_readCodecRate = value; }
+ get { return _readCodecRate; }
+ set { _readCodecRate = value; }
}
/// <summary>
@@ -56,8 +56,8 @@
/// </summary>
public string WriteCodecName
{
- get { return m_writeCodecName; }
- set { m_writeCodecName = value; }
+ get { return _writeCodecName; }
+ set { _writeCodecName = value; }
}
/// <summary>
@@ -66,8 +66,8 @@
/// </summary>
public int WriteCodecRate
{
- get { return m_writeCodecRate; }
- set { m_writeCodecRate = value; }
+ get { return _writeCodecRate; }
+ set { _writeCodecRate = value; }
}
/// <summary>
@@ -75,8 +75,8 @@
/// </summary>
public ChannelState State
{
- get { return m_state; }
- set { m_state = value; }
+ get { return _state; }
+ set { _state = value; }
}
/// <summary>
@@ -84,8 +84,8 @@
/// </summary>
public int StateNumber
{
- get { return m_stateNumber; }
- set { m_stateNumber = value; }
+ get { return _stateNumber; }
+ set { _stateNumber = value; }
}
/// <summary>
@@ -98,22 +98,22 @@
/// <seealso cref="HostName"/>
public string Name
{
- get { return m_protocol + "/" + _profile + "/" + m_address + "@" + _hostName; }
+ get { return _protocol + "/" + _profile + "/" + _address + "@" + _hostName; }
set
{
string[] bits = value.Split('/');
if (bits.Length == 3)
{
- m_protocol = bits[0];
+ _protocol = bits[0];
_profile = bits[1];
string[] userParts = bits[2].Split('@');
if (userParts.Length == 2)
{
- m_address = userParts[0];
+ _address = userParts[0];
HostName = userParts[1];
}
else
- m_address = bits[2];
+ _address = bits[2];
}
}
@@ -133,8 +133,8 @@
/// </summary>
public string Address
{
- get { return m_address; }
- set { m_address = value; }
+ get { return _address; }
+ set { _address = value; }
}
/// <summary>
@@ -165,7 +165,7 @@
/// </summary>
public string Protocol
{
- get { return m_protocol; }
+ get { return _protocol; }
}
public bool Parse(string name, string value)
@@ -173,25 +173,25 @@
switch (name)
{
case "channel-state":
- m_state = StateFromString(value);
+ _state = StateFromString(value);
break;
case "channel-state-number":
- int.TryParse(value, out m_stateNumber);
+ int.TryParse(value, out _stateNumber);
break;
case "channel-name":
Name = value;
break;
case "channel-read-codec-name":
- m_readCodecName = value;
+ _readCodecName = value;
break;
case "channel-read-codec-rate":
- int.TryParse(value, out m_readCodecRate);
+ int.TryParse(value, out _readCodecRate);
break;
case "channel-write-codec-name":
- m_writeCodecName = value;
+ _writeCodecName = value;
break;
case "channel-write-codec-rate":
- int.TryParse(value, out m_writeCodecRate);
+ int.TryParse(value, out _writeCodecRate);
break;
default:
return false;
Added: freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/DeflectCmd.cs
==============================================================================
--- (empty file)
+++ freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/DeflectCmd.cs Thu May 8 08:00:55 2008
@@ -0,0 +1,37 @@
+using System;
+
+namespace FreeSwitch.EventSocket.Commands
+{
+ public class DeflectCmd : SendMsg
+ {
+ private readonly string _uri;
+
+ /// <summary>
+ ///
+ /// </summary>
+ /// <param name="uuid">session id</param>
+ /// <param name="sipUri">complete sip uri, with or whithout "sip:"</param>
+ public DeflectCmd(string uuid, string sipUri)
+ : base(uuid, "execute")
+ {
+ if (string.IsNullOrEmpty(sipUri))
+ throw new ArgumentNullException("sipUri");
+
+ _uri = sipUri;
+ }
+
+ public DeflectCmd(string uuid) : base(uuid)
+ {
+ }
+
+ public override string Command
+ {
+ get { return "deflect"; }
+ }
+
+ public override string Arguments
+ {
+ get { return _uri; }
+ }
+ }
+}
Modified: freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs
==============================================================================
--- freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs (original)
+++ freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/Commands/SendMsg.cs Thu May 8 08:00:55 2008
@@ -1,3 +1,5 @@
+using System;
+
namespace FreeSwitch.EventSocket.Commands
{
public abstract class SendMsg : CmdBase
@@ -7,11 +9,18 @@
public SendMsg(string uuid)
{
+ if (string.IsNullOrEmpty(uuid))
+ throw new ArgumentNullException("uuid");
_uuid = uuid;
}
public SendMsg(string uuid, string callCommand)
{
+ if (string.IsNullOrEmpty(uuid))
+ throw new ArgumentNullException("uuid");
+ if (string.IsNullOrEmpty(callCommand))
+ throw new ArgumentNullException("callCommand");
+
_callCommand = callCommand;
_uuid = uuid;
}
Modified: freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj
==============================================================================
--- freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj (original)
+++ freeswitch/trunk/scripts/contrib/verifier/EventSocket/trunk/FreeSwitchEventSocket/FreeSwitch.EventSocket.csproj Thu May 8 08:00:55 2008
@@ -54,6 +54,7 @@
<Compile Include="Commands\AuthCommand.cs" />
<Compile Include="Commands\CmdBase.cs" />
<Compile Include="Commands\CommandReply.cs" />
+ <Compile Include="Commands\DeflectCmd.cs" />
<Compile Include="Commands\ExecuteJavascript.cs" />
<Compile Include="Commands\GetVariable.cs" />
<Compile Include="Commands\HoldCmd.cs" />
More information about the Freeswitch-svn
mailing list