profile
viewpoint

sipsorcery/mediafoundationsamples 118

A set of unofficial minimal sample apps that demonstrate how to use certain parts of Microsoft's Windows Media Foundation API.

sipsorcery/qt_win_binary 5

This repository contains static builds of Qt for Windows that are compatible with Bitcoin Core.

sipsorcery/audioscope 2

audio visualizers true to the sound

sipsorcery/awesome-dotnet 2

A collection of awesome .NET libraries, tools, frameworks and software

sipsorcery/DnsClient.NET 2

DnsClient.NET is a simple yet very powerful and high performant open source library for the .NET Framework to do DNS lookups

sipsorcery/MixedReality-WebRTC 2

MixedReality-WebRTC is a collection of components to help mixed reality app developers integrate audio and video real-time communication into their application and improve their collaborative experience

sipsorcery/awesome-dotnet-core 1

:honeybee: A collection of awesome .NET core libraries, tools, frameworks and software

sipsorcery/bc-csharp 1

Bouncy Castle C# Distribution (Mirror)

sipsorcery/bitcoin 1

Bitcoin Core integration/staging tree

sipsorcery/bitcoin-detached-sigs 1

Bitcoin detached release signatures

issue commentsipsorcery/sipsorcery

SIPNotifierClient not working

The goal is to implement a blf functionality.

oetzy

comment created time in 14 hours

issue openedsipsorcery/sipsorcery

TNotifierClient not working

Is there a bug in the Subscribe-Method of TNotifierClient?

                    SIPRequest subscribeRequest = SIPRequest.GetRequest(
                        SIPMethodsEnum.SUBSCRIBE,
                        m_resourceURI,
                        new SIPToHeader(null, subscribeURI, m_subscriptionToTag),
                        null);

The last Parameter (from) should not be null:

// SIPSorcery.SIP.SIPRequest
public static SIPRequest GetRequest(SIPMethodsEnum method, SIPURI uri, SIPToHeader to, SIPFromHeader from)
{
	SIPRequest sIPRequest = new SIPRequest(method, uri);
	SIPHeader sIPHeader = (sIPRequest.Header = new SIPHeader(from, to, 1, CallProperties.CreateNewCallId()));
	sIPHeader.CSeqMethod = method;
	sIPHeader.Allow = "ACK, BYE, CANCEL, INFO, INVITE, NOTIFY, OPTIONS, PRACK, REFER, REGISTER, SUBSCRIBE";
	sIPHeader.Vias.PushViaHeader(SIPViaHeader.GetDefaultSIPViaHeader(uri.Protocol));
	return sIPRequest;
}

The constructor of SIPHeader throws an exception. :-(

created time in a day

PR opened sipsorcery/sipsorcery

Configured threads to background mode, so app should exit successfully w/o waiting for these worker threads.

Configured threads to background mode, so app should exit successfully w/o waiting for these worker threads.

+3 -3

0 comment

3 changed files

pr created time in 2 days

fork o2alexanderfedin/sipsorcery

A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.

https://sipsorcery.github.io/sipsorcery

fork in 3 days

startedsipsorcery/sipsorcery

started time in 4 days

startedsipsorcery/sipsorcery

started time in 4 days

startedsipsorcery/sipsorcery

started time in 4 days

startedsipsorcery/sipsorcery

started time in 4 days

fork xljiulang/sipsorcery

A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.

https://sipsorcery.github.io/sipsorcery

fork in 4 days

issue commentsipsorcery/sipsorcery

Using ArrayPool、Memory<byte> and Span<byte> at network layer.

And we can use BinaryPrimitives class to ReverseEndian and read/write number/bytes instead of BitConverter/BitConverter, a recyclable BufferWriter<byte> to build Packet.

Buffer.BlockCopy(BitConverter.GetBytes(NetConvert.DoReverseEndian(firstWord)), 0, header, 0, 2);
Buffer.BlockCopy(BitConverter.GetBytes(NetConvert.DoReverseEndian(SequenceNumber)), 0, header, 2, 2);
Buffer.BlockCopy(BitConverter.GetBytes(NetConvert.DoReverseEndian(Timestamp)), 0, header, 4, 4);
Buffer.BlockCopy(BitConverter.GetBytes(NetConvert.DoReverseEndian(SyncSource)), 0, header, 8, 4);

I found to many ArrayCopy code,but actually it don't need to copy if use ArraySegment<byte> or Span<bye>

public void Send(byte[] buffer, int offset, int length)
{
     base.Send(buffer.Skip(offset).Take(length).ToArray());
}
xljiulang

comment created time in 4 days

issue commentsipsorcery/sipsorcery

Using ArrayPool、Memory<byte> and Span<byte> at network layer.

Well, System.Memory library supports net461 and .NETStandard 2.0,so those three classes are available at sipsorcery. There are high performance buffer types such as ArrayPool,IArrayOwner,BufferWriter,and Slice extension for IMemoryOwner in my project MemoryExtensions

xljiulang

comment created time in 5 days

created tagbitcoin-core/bitcoin-detached-sigs

tagv0.21.0

Bitcoin detached release signatures

created time in 5 days

push eventbitcoin-core/bitcoin-detached-sigs

Jonas Schnelli

commit sha 04fcda15069daad013dc4bf0c76eabc44073fd16

0.21: macOS signatures for 0.21.0

view details

push time in 5 days

issue openedsipsorcery/sipsorcery

Using ArrayPool、Memory<byte> and Span<byte> at network layer.

byte[] -> Span<byte>

eg buffer = buffer.Take(outBufLen).ToArray(), it will create a new array, but 0 alloced span = span.Slice(outBufLen)

byte[] -> Memory<byte>

eg PacketReceivedDelegate(UdpReceiver, int, IPEndPoint, byte[]), maybe can delegate as PacketReceivedDelegate(UdpReceiver, int, IPEndPoint, Memory<byte>[])

Udp recv buffer -> ArrayPool<byte>

There's a Buffer.BlockCopy at udp EndReceiveFrom(IAsyncResult), we can ArrayPool<byte>.Shared to rent a buffer for recv buffer, and slice it at EndReceiveFrom, after a packet process, return the rent buffer to pool.

created time in 5 days

startedsipsorcery/sipsorcery

started time in 5 days

push eventbitcoin-core/bitcoin-detached-sigs

Andrew Chow

commit sha 94eae7836a836803dd40e2333324be0bb03cc028

0.21: win signatures for 0.21.0

view details

push time in 5 days

startedsipsorcery/sipsorcery

started time in 5 days

startedsipsorcery/sipsorcery

started time in 5 days

fork williamXDB/sipsorcery

A WebRTC, SIP and VoIP library for C# and .NET Core. Designed for real-time communications apps.

https://sipsorcery.github.io/sipsorcery

fork in 6 days

issue closedsipsorcery/sipsorcery

Sending an 'options' request

IS there some way to use this library to SEND an options request and monitor the response? Our use case is we would like to use the library with IP speakers but need to supervise them to make sure they are 'there' at regular intervals.

closed time in 6 days

LADSoft

issue commentsipsorcery/sipsorcery

Sending an 'options' request

thank you!

LADSoft

comment created time in 6 days

issue openedsipsorcery/sipsorcery

Sending an 'options' request

IS there some way to use this library to SEND an options request and monitor the response? Our use case is we would like to use the library with IP speakers but need to supervise them to make sure they are 'there' at regular intervals.

created time in 6 days

startedsipsorcery/sipsorcery

started time in 6 days

startedsipsorcery/sipsorcery

started time in 7 days

issue openedsipsorcery/sipsorcery

AWS Kinesis Video Stream with WebRTC

Hello, I wonder if the SIPsorcery Library can be used to connect to the AWS Kinesis Video Stream with WebRTC ? https://docs.aws.amazon.com/kinesisvideostreams-webrtc-dg/latest/devguide/what-is-kvswebrtc.html

I need to share a video from a Dot net application and I don't know where to start to configure AWS WebRTC in SIPSorcery. Can you just tell me if the AWS Kinesis WebRTC is enough open to connect with SIPSorcery or If the AWS SDK is mandatory ?

Thanks for the answer

created time in 7 days

startedsipsorcery/sipsorcery

started time in 8 days

created repositorybtcpayserver/prestashop-plugin

BTCPay Server plugin for Prestashop

created time in 8 days

startedsipsorcery/sipsorcery

started time in 9 days

issue commentsipsorcery/sipsorcery

Play Audio File

Hi, I had some issues with the AudioExtrasSource giving unreliable timing due to the use of the Timer class giving non reliable timing. Appears to be a problem in larger .NET applications with multiple threads. I have replaced the _sendSampleTimer with the MicroTimer from https://www.codeproject.com/Articles/98346/Microsecond-and-Millisecond-NET-Timer and the issues have now gone away in generating the audio packets no dropouts.

BR Mikael

joaodotneto

comment created time in 9 days

startedsipsorcery/sipsorcery

started time in 10 days

more