Compare commits
1 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 5949de6611 |
12
CHANGELOG.md
12
CHANGELOG.md
@@ -10,6 +10,15 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
|
|||||||
_nothing changed yet_
|
_nothing changed yet_
|
||||||
|
|
||||||
|
|
||||||
|
## [v0.1.1] - 2025-10-24
|
||||||
|
|
||||||
|
### Changed
|
||||||
|
|
||||||
|
- Property names of the event should be more descriptive:
|
||||||
|
- From `CallerNumber` to `ExternalNumber`
|
||||||
|
- From `CalleeNumber` to `InternalNumber`
|
||||||
|
|
||||||
|
|
||||||
## [v0.1.0] - 2025-08-28
|
## [v0.1.0] - 2025-08-28
|
||||||
|
|
||||||
_Inital release_
|
_Inital release_
|
||||||
@@ -27,6 +36,7 @@ _Inital release_
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
[Unreleased]: https://github.com/AM-WD/FritzCallMonitor/compare/v0.1.0...HEAD
|
[Unreleased]: https://github.com/AM-WD/FritzCallMonitor/compare/v0.1.1...HEAD
|
||||||
|
|
||||||
|
[v0.1.1]: https://github.com/AM-WD/FritzCallMonitor/compare/v0.1.0...v0.1.1
|
||||||
[v0.1.0]: https://github.com/AM-WD/FritzCallMonitor/commits/v0.1.0
|
[v0.1.0]: https://github.com/AM-WD/FritzCallMonitor/commits/v0.1.0
|
||||||
|
|||||||
@@ -44,11 +44,11 @@ namespace FritzCallMonitor.Demo
|
|||||||
switch (e.Event)
|
switch (e.Event)
|
||||||
{
|
{
|
||||||
case EventType.Ring:
|
case EventType.Ring:
|
||||||
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Incoming Call from {e.CallerNumber} to {e.CalleeNumber}");
|
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Incoming Call from {e.ExternalNumber} to {e.InternalNumber}");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.Connect:
|
case EventType.Connect:
|
||||||
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Call connected to {e.CallerNumber}");
|
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Call connected to {e.ExternalNumber}");
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.Disconnect:
|
case EventType.Disconnect:
|
||||||
@@ -56,7 +56,7 @@ namespace FritzCallMonitor.Demo
|
|||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.Call:
|
case EventType.Call:
|
||||||
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Outgoing Call from {e.CalleeNumber} to {e.CallerNumber}");
|
Console.WriteLine($"{e.Timestamp:yyyy-MM-dd HH:mm:ss K} | #{e.ConnectionId} | Outgoing Call from {e.InternalNumber} to {e.ExternalNumber}");
|
||||||
break;
|
break;
|
||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -31,12 +31,12 @@ namespace AMWD.Net.Api.Fritz.CallMonitor
|
|||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the external number displayed in the FRITZ!Box.
|
/// Gets the external number displayed in the FRITZ!Box.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? CallerNumber { get; private set; }
|
public string? ExternalNumber { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the internal number registered in the FRITZ!Box.
|
/// Gets the internal number registered in the FRITZ!Box.
|
||||||
/// </summary>
|
/// </summary>
|
||||||
public string? CalleeNumber { get; private set; }
|
public string? InternalNumber { get; private set; }
|
||||||
|
|
||||||
/// <summary>
|
/// <summary>
|
||||||
/// Gets the duration of the call (only on <see cref="EventType.Disconnect"/> event).
|
/// Gets the duration of the call (only on <see cref="EventType.Disconnect"/> event).
|
||||||
@@ -71,13 +71,13 @@ namespace AMWD.Net.Api.Fritz.CallMonitor
|
|||||||
switch (eventType)
|
switch (eventType)
|
||||||
{
|
{
|
||||||
case EventType.Ring:
|
case EventType.Ring:
|
||||||
args.CallerNumber = columns[3];
|
args.ExternalNumber = columns[3];
|
||||||
args.CalleeNumber = columns[4];
|
args.InternalNumber = columns[4];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.Connect:
|
case EventType.Connect:
|
||||||
args.LinePort = int.TryParse(columns[3], out int connectLinePort) ? connectLinePort : null;
|
args.LinePort = int.TryParse(columns[3], out int connectLinePort) ? connectLinePort : null;
|
||||||
args.CallerNumber = columns[4];
|
args.ExternalNumber = columns[4];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
case EventType.Disconnect:
|
case EventType.Disconnect:
|
||||||
@@ -87,8 +87,8 @@ namespace AMWD.Net.Api.Fritz.CallMonitor
|
|||||||
|
|
||||||
case EventType.Call:
|
case EventType.Call:
|
||||||
args.LinePort = int.TryParse(columns[3], out int callLinePort) ? callLinePort : null;
|
args.LinePort = int.TryParse(columns[3], out int callLinePort) ? callLinePort : null;
|
||||||
args.CalleeNumber = columns[4];
|
args.InternalNumber = columns[4];
|
||||||
args.CallerNumber = columns[5];
|
args.ExternalNumber = columns[5];
|
||||||
break;
|
break;
|
||||||
|
|
||||||
default:
|
default:
|
||||||
|
|||||||
@@ -166,8 +166,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Ring, eventArgs.Event);
|
Assert.AreEqual(EventType.Ring, eventArgs.Event);
|
||||||
Assert.AreEqual(2, eventArgs.ConnectionId);
|
Assert.AreEqual(2, eventArgs.ConnectionId);
|
||||||
Assert.IsNull(eventArgs.LinePort);
|
Assert.IsNull(eventArgs.LinePort);
|
||||||
Assert.AreEqual("012345678901", eventArgs.CallerNumber);
|
Assert.AreEqual("012345678901", eventArgs.ExternalNumber);
|
||||||
Assert.AreEqual("9876543", eventArgs.CalleeNumber);
|
Assert.AreEqual("9876543", eventArgs.InternalNumber);
|
||||||
Assert.IsNull(eventArgs.Duration);
|
Assert.IsNull(eventArgs.Duration);
|
||||||
|
|
||||||
_tcpClientMock.VerifyGet(m => m.IsConnected, Times.Exactly(2));
|
_tcpClientMock.VerifyGet(m => m.IsConnected, Times.Exactly(2));
|
||||||
@@ -209,8 +209,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Ring, eventArgs.Event);
|
Assert.AreEqual(EventType.Ring, eventArgs.Event);
|
||||||
Assert.AreEqual(2, eventArgs.ConnectionId);
|
Assert.AreEqual(2, eventArgs.ConnectionId);
|
||||||
Assert.IsNull(eventArgs.LinePort);
|
Assert.IsNull(eventArgs.LinePort);
|
||||||
Assert.AreEqual("012345678901", eventArgs.CallerNumber);
|
Assert.AreEqual("012345678901", eventArgs.ExternalNumber);
|
||||||
Assert.AreEqual("9876543", eventArgs.CalleeNumber);
|
Assert.AreEqual("9876543", eventArgs.InternalNumber);
|
||||||
Assert.IsNull(eventArgs.Duration);
|
Assert.IsNull(eventArgs.Duration);
|
||||||
|
|
||||||
_tcpClientMock.VerifyGet(m => m.IsConnected, Times.Exactly(3));
|
_tcpClientMock.VerifyGet(m => m.IsConnected, Times.Exactly(3));
|
||||||
|
|||||||
@@ -29,8 +29,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Ring, result.Event);
|
Assert.AreEqual(EventType.Ring, result.Event);
|
||||||
Assert.AreEqual(2, result.ConnectionId);
|
Assert.AreEqual(2, result.ConnectionId);
|
||||||
Assert.IsNull(result.LinePort);
|
Assert.IsNull(result.LinePort);
|
||||||
Assert.AreEqual("012345678901", result.CallerNumber);
|
Assert.AreEqual("012345678901", result.ExternalNumber);
|
||||||
Assert.AreEqual("9876543", result.CalleeNumber);
|
Assert.AreEqual("9876543", result.InternalNumber);
|
||||||
Assert.IsNull(result.Duration);
|
Assert.IsNull(result.Duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -45,8 +45,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Connect, result.Event);
|
Assert.AreEqual(EventType.Connect, result.Event);
|
||||||
Assert.AreEqual(1, result.ConnectionId);
|
Assert.AreEqual(1, result.ConnectionId);
|
||||||
Assert.AreEqual(3, result.LinePort);
|
Assert.AreEqual(3, result.LinePort);
|
||||||
Assert.AreEqual("012345678901", result.CallerNumber);
|
Assert.AreEqual("012345678901", result.ExternalNumber);
|
||||||
Assert.IsNull(result.CalleeNumber);
|
Assert.IsNull(result.InternalNumber);
|
||||||
Assert.IsNull(result.Duration);
|
Assert.IsNull(result.Duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -61,8 +61,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Disconnect, result.Event);
|
Assert.AreEqual(EventType.Disconnect, result.Event);
|
||||||
Assert.AreEqual(2, result.ConnectionId);
|
Assert.AreEqual(2, result.ConnectionId);
|
||||||
Assert.IsNull(result.LinePort);
|
Assert.IsNull(result.LinePort);
|
||||||
Assert.IsNull(result.CallerNumber);
|
Assert.IsNull(result.ExternalNumber);
|
||||||
Assert.IsNull(result.CalleeNumber);
|
Assert.IsNull(result.InternalNumber);
|
||||||
Assert.AreEqual(TimeSpan.FromSeconds(42), result.Duration);
|
Assert.AreEqual(TimeSpan.FromSeconds(42), result.Duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -77,8 +77,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
Assert.AreEqual(EventType.Call, result.Event);
|
Assert.AreEqual(EventType.Call, result.Event);
|
||||||
Assert.AreEqual(4, result.ConnectionId);
|
Assert.AreEqual(4, result.ConnectionId);
|
||||||
Assert.AreEqual(7, result.LinePort);
|
Assert.AreEqual(7, result.LinePort);
|
||||||
Assert.AreEqual("012345678901", result.CallerNumber);
|
Assert.AreEqual("012345678901", result.ExternalNumber);
|
||||||
Assert.AreEqual("9876543", result.CalleeNumber);
|
Assert.AreEqual("9876543", result.InternalNumber);
|
||||||
Assert.IsNull(result.Duration);
|
Assert.IsNull(result.Duration);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -147,8 +147,8 @@ namespace FritzCallMonitor.Tests
|
|||||||
string line = "25.08.25 20:15:30;RING;2;012345678901;9876543;SIP0;EXTRA;COLUMN;";
|
string line = "25.08.25 20:15:30;RING;2;012345678901;9876543;SIP0;EXTRA;COLUMN;";
|
||||||
var result = CallMonitorEventArgs.Parse(line);
|
var result = CallMonitorEventArgs.Parse(line);
|
||||||
Assert.IsNotNull(result);
|
Assert.IsNotNull(result);
|
||||||
Assert.AreEqual("012345678901", result.CallerNumber);
|
Assert.AreEqual("012345678901", result.ExternalNumber);
|
||||||
Assert.AreEqual("9876543", result.CalleeNumber);
|
Assert.AreEqual("9876543", result.InternalNumber);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user