Skip to content

Instantly share code, notes, and snippets.

@siniypin
siniypin / createUaWithAccounts.cs
Created July 8, 2013 19:21
Creating sip preconfigured and dynamic sip accounts.
public class Class1
{
public class MyConfigurator : IConfigurationProvider
{
public void Configure(IConfigurationContext context)
{
var registrar = "sipgate.de";
var accountId = new SipUriBuilder().AppendDomain("sipgate.de").AppendExtension("me").ToString();
var proxy = "proxy.live.sipgate.de";
context.RegisterAccounts(new[]
@siniypin
siniypin / gist:7504504
Created November 16, 2013 19:51
Transferring active call to another destination
public class TransferCommand : ICommand
{
private ISipUserAgent _userAgent;
private TransferArguments _arguments;
public TransferCommand(ISipUserAgent userAgent, TransferArguments transferArguments)
{
_userAgent = userAgent;
_arguments = transferArguments;
}
@siniypin
siniypin / gist:7848648
Created December 7, 2013 21:01
Subscribing to NAT detected event
var ua = Configure.Pjsip4Net().FromConfig().Build().Start();
ua.ImManager.NatDetected += OnNatDetected;
@siniypin
siniypin / App.config
Last active March 1, 2020 19:47
Configuring pjsip4net from App.config
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="sipua" type="pjsip4net.Configuration.SipUserAgentSettingsSection, pjsip4net, Culture=neutral, PublicKeyToken=null"/>
</configSections>
<sipua srtp="Disabled" secureSignaling="0" logMessages="true" logLevel="5" traceAndDebug="false" autoAnswer="true" autoConference="false" maxCalls="5">
<accounts>
<!--<account accountId="sip:1000@66.240.xxx.xx:5080" registrarUri="sip:66.240.170.79:5080"
userName="1000" password="1234" realm="*" isDefault="true"
publishPresence="false" />-->
@siniypin
siniypin / App.config
Created December 8, 2013 17:02
Plugging log4net framework
<?xml version="1.0"?>
<configuration>
<configSections>
<section name="sipua" type="pjsip4net.Configuration.SipUserAgentSettingsSection, pjsip4net, Culture=neutral, PublicKeyToken=null"/>
<sectionGroup name="common">
<section name="logging" type="Common.Logging.ConfigurationSectionHandler, Common.Logging" />
</sectionGroup>
<section name="log4net" type="log4net.Config.Log4NetConfigurationSectionHandler, log4net, Version=1.2.10.0, Culture=neutral, PublicKeyToken=1b44e1d426115821"/>
</configSections>
<sipua>
@siniypin
siniypin / gist:7860351
Created December 8, 2013 17:10
Binding to concrete pjsip version
Configure.Pjsip4Net().WithVersion_1_4().Build().Start();
@siniypin
siniypin / gist:7860386
Last active July 9, 2019 10:36
Configure with block of code
Configure.Pjsip4Net()
.With(x => x.Config.AutoAnswer = false)
.With(x => x.Config.OutboundProxies.Add("sip:192.168.1.1:5060"))
.Build()
.Start();
@siniypin
siniypin / Program.cs
Created December 8, 2013 17:29
Plugging Castle Windsor container
var container = new WindsorContainer();
var ua = Configure.Pjsip4Net().With_CastleContainer(container).Build().Start();
@siniypin
siniypin / gist:08aba26ffea06915136d
Created February 15, 2015 00:27
Create Wav player and dispose after it reaches end of the file
public class PlayFileCommand : ICommand
{
private readonly ISipUserAgent _userAgent;
private readonly IContainer _container;
public PlayFileCommand(ISipUserAgent userAgent, IContainer container)
{
_userAgent = userAgent;
_container = container;
}
public class PlayFileCommand : ICommand
{
private readonly ISipUserAgent _userAgent;
private readonly IContainer _container;
public PlayFileCommand(ISipUserAgent userAgent, IContainer container)
{
_userAgent = userAgent;
_container = container;
}