Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-16 Thread Federico Cabiddu
Very cool Daniel, thank you!

Federico

On Mon, Feb 14, 2022 at 3:02 PM Daniel-Constantin Mierla 
wrote:

> Hello,
>
> I want to announce the availability of sipexer v1.0.0 - a sip cli tool
> that can facilitate testing and monitoring of SIP signalling systems. It
> tries to have a modern approach, with a flexible templating system,
> supporting both IPv4 and IPv6 with all the common transport layers,
> respectively UDP, TCP, TLS and WebSocket (for WebRTC).
>
> The project can be found at:
>
>   * https://github.com/miconda/sipexer
>
> It is written in Go language for better portability, binaries for Linux,
> MacOS and Windows are made available for download in the release page:
>
>   * https://github.com/miconda/sipexer/releases/tag/v1.0.0
>
> Among its features:
>
>   *  send OPTIONS request (quick SIP ping to check if server is alive)
>   *  do registration and un-registration with customized expires value
> and contact URI
>   *  authentication with plain or HA1 passwords
>   *  set custom SIP headers
>   *  template system for building SIP requests
>   *  fields in the templates can be set via command line parameters or a
> JSON file
>   *  variables for setting field values (e.g., random number, data,
> time, environment variables, uuid, random string, …)
>   *  simulate SIP calls at signalling layer (INVITE-wait-BYE)
>   *  respond to requests coming during SIP calls (e.g., OPTIONS keepalives)
>   *  send instant messages with SIP MESSAGE requests
>   *  color output mode for easier troubleshooting
>   *  support for many transport layers: IPv4 and IPv6, UDP, TCP, TLS and
> WebSocket (for WebRTC)
>   *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
>
> One usage example that could ease the testing of Kamailio is initiating
> registrations or simulating calls over WebSocket without the need of
> having a JavaScript soft phone application running in a web browser.
>
> Cheers,
> Daniel
>
> --
> Daniel-Constantin Mierla
> http://www.asipto.com
>
>
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-14 Thread Alex Balashov
Certainly, but 90% of the various use-cases are covered by the invite scenario. 
Extensive compatibility with various CI tooling isn’t really required in my 
mind; as long as it can return positive or negative values depending on the 
outcome of the SIP request, it’s perfect. 

The real value is in the fact that it’s a true CLI tool, and the ability to 
formulate misshapen requests using Go templates. That’s beautiful!

Another great thing is that you appear to have exposed your ad hoc SIP parser 
as a module, which means it could potentially be imported and used in other 
tools. 

—
Sent from mobile, with due apologies for brevity and errors.

> On Feb 14, 2022, at 1:51 PM, Daniel-Constantin Mierla  
> wrote:
> 
> Probably it requires some hammering to make it compatible with various
> CI pipelines, I tried to make a mode for nagious plugin, but coding in
> golang should make it easy to adapt/enhance.
> 
> I plan to add a few more common scenarios for session testing. Right now
> can do register-wait-unregister and invite/200ok-ack-wait-bye.
> 
> One that is my to-do is to register two users and make a call between
> them. Another one would be to register and wait for calls, so another
> sipexer instance can be used for register and initiate calls.
> 
> Writing the sip traffic in a pcap file is something that I would like to
> add as well.
> 
> Cheers,
> Daniel
> 
>> On 14.02.22 19:27, Alex Balashov wrote:
>> I haven’t had a chance to dig into it just yet, but this is an incredibly 
>> exciting development, and fills a very dire gap in open-source testing 
>> tools. 
>> 
>> SIPp was the only real game in town and, despite some very creative efforts 
>> over the years, fundamentally is not composable: it doesn’t lend itself to 
>> headless automation or embedding in CI pipelines, and isn’t terribly useful 
>> for monitoring. The remainder is a miscellany of relatively unsophisticated 
>> or quirky tools, none of which have the flexibility you are providing here. 
>> 
>> Very grateful that you wrote this, and excited to try it! Thank you so much 
>> for this work!
>> 
>> — Alex
>> 
 On Feb 14, 2022, at 1:23 PM, Juha Heinanen  wrote:
>>> 
>>> Daniel-Constantin Mierla writes:
>>> 
 WebSocket (for WebRTC)
  *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
 
 One usage example that could ease the testing of Kamailio is initiating
 registrations or simulating calls over WebSocket without the need of
 having a JavaScript soft phone application running in a web browser.
>>> Thanks for the tool.  Regarding SIP over WebSocket, baresip supports
>>> WebSocket transport in all platforms.
>>> 
>>> -- Juha
>>> 
>>> ___
>>> Kamailio (SER) - Development Mailing List
>>> sr-dev@lists.kamailio.org
>>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>> -- 
>> Alex Balashov | Principal | Evariste Systems LLC
>> 
>> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
>> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>> 
>> 
>> ___
>> Kamailio (SER) - Development Mailing List
>> sr-dev@lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
> 
> -- 
> Daniel-Constantin Mierla -- www.asipto.com
> www.twitter.com/miconda -- www.linkedin.com/in/miconda
> Kamailio Advanced Training - Online
>  Feb 21-24, 2022 (America Timezone)
>  * https://www.asipto.com/sw/kamailio-advanced-training-online/
> 

___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-14 Thread Daniel-Constantin Mierla
Probably it requires some hammering to make it compatible with various
CI pipelines, I tried to make a mode for nagious plugin, but coding in
golang should make it easy to adapt/enhance.

I plan to add a few more common scenarios for session testing. Right now
can do register-wait-unregister and invite/200ok-ack-wait-bye.

One that is my to-do is to register two users and make a call between
them. Another one would be to register and wait for calls, so another
sipexer instance can be used for register and initiate calls.

Writing the sip traffic in a pcap file is something that I would like to
add as well.

Cheers,
Daniel

On 14.02.22 19:27, Alex Balashov wrote:
> I haven’t had a chance to dig into it just yet, but this is an incredibly 
> exciting development, and fills a very dire gap in open-source testing tools. 
>
> SIPp was the only real game in town and, despite some very creative efforts 
> over the years, fundamentally is not composable: it doesn’t lend itself to 
> headless automation or embedding in CI pipelines, and isn’t terribly useful 
> for monitoring. The remainder is a miscellany of relatively unsophisticated 
> or quirky tools, none of which have the flexibility you are providing here. 
>
> Very grateful that you wrote this, and excited to try it! Thank you so much 
> for this work!
>
> — Alex
>
>> On Feb 14, 2022, at 1:23 PM, Juha Heinanen  wrote:
>>
>> Daniel-Constantin Mierla writes:
>>
>>> WebSocket (for WebRTC)
>>>   *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
>>>
>>> One usage example that could ease the testing of Kamailio is initiating
>>> registrations or simulating calls over WebSocket without the need of
>>> having a JavaScript soft phone application running in a web browser.
>> Thanks for the tool.  Regarding SIP over WebSocket, baresip supports
>> WebSocket transport in all platforms.
>>
>> -- Juha
>>
>> ___
>> Kamailio (SER) - Development Mailing List
>> sr-dev@lists.kamailio.org
>> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
> -- 
> Alex Balashov | Principal | Evariste Systems LLC
>
> Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
> Web: http://www.evaristesys.com/, http://www.csrpswitch.com/
>
>
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
  Feb 21-24, 2022 (America Timezone)
  * https://www.asipto.com/sw/kamailio-advanced-training-online/


___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-14 Thread Daniel-Constantin Mierla

On 14.02.22 19:23, Juha Heinanen wrote:
> Daniel-Constantin Mierla writes:
>
>> WebSocket (for WebRTC)
>>   *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
>>
>> One usage example that could ease the testing of Kamailio is initiating
>> registrations or simulating calls over WebSocket without the need of
>> having a JavaScript soft phone application running in a web browser.
> Thanks for the tool.  Regarding SIP over WebSocket, baresip supports
> WebSocket transport in all platforms.

baresip is more like a proper SIP phone (which is great and I use it for
such purpose), but I don't think it has the option to "forge" any kind
of SIP request. The sipexer is a result of not having enough time to
(fully understand and then) code C/C++ for sipsak to add websocket
support (plus a few other like IPv6, more TLS flexibility).

I wrote a couple of years ago wsctl to be able to do testing over
websocket from cli, I don't think baresip had support for websocket at
that time, anyhow my need was mainly to be able to reproduce by sending
SIP traffic from a previous capture) and a few months ago I decided to
start a more sip-oriented tool written in golang, considering is faster
development due to embedded tls support and easier websocket integration
(also hoping that contributions will be easier in golang than c/c++
nowadays from the new generation).

sipexer has to be seen as a sip cli tool, not as a sip softphone, there
is no media/audio support.

Cheers,
Daniel

-- 
Daniel-Constantin Mierla -- www.asipto.com
www.twitter.com/miconda -- www.linkedin.com/in/miconda
Kamailio Advanced Training - Online
  Feb 21-24, 2022 (America Timezone)
  * https://www.asipto.com/sw/kamailio-advanced-training-online/


___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-14 Thread Alex Balashov
I haven’t had a chance to dig into it just yet, but this is an incredibly 
exciting development, and fills a very dire gap in open-source testing tools. 

SIPp was the only real game in town and, despite some very creative efforts 
over the years, fundamentally is not composable: it doesn’t lend itself to 
headless automation or embedding in CI pipelines, and isn’t terribly useful for 
monitoring. The remainder is a miscellany of relatively unsophisticated or 
quirky tools, none of which have the flexibility you are providing here. 

Very grateful that you wrote this, and excited to try it! Thank you so much for 
this work!

— Alex

> On Feb 14, 2022, at 1:23 PM, Juha Heinanen  wrote:
> 
> Daniel-Constantin Mierla writes:
> 
>> WebSocket (for WebRTC)
>>   *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
>> 
>> One usage example that could ease the testing of Kamailio is initiating
>> registrations or simulating calls over WebSocket without the need of
>> having a JavaScript soft phone application running in a web browser.
> 
> Thanks for the tool.  Regarding SIP over WebSocket, baresip supports
> WebSocket transport in all platforms.
> 
> -- Juha
> 
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev

-- 
Alex Balashov | Principal | Evariste Systems LLC

Tel: +1-706-510-6800 / +1-800-250-5920 (toll-free)
Web: http://www.evaristesys.com/, http://www.csrpswitch.com/


___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev


Re: [sr-dev] Info: sipexer v1.0.0 - sip cli tool

2022-02-14 Thread Ovidiu Sas
Hello Daniel,

Very nice tool! Thank you for sharing!

-ovidiu

On Mon, Feb 14, 2022 at 09:02 Daniel-Constantin Mierla 
wrote:

> Hello,
>
> I want to announce the availability of sipexer v1.0.0 - a sip cli tool
> that can facilitate testing and monitoring of SIP signalling systems. It
> tries to have a modern approach, with a flexible templating system,
> supporting both IPv4 and IPv6 with all the common transport layers,
> respectively UDP, TCP, TLS and WebSocket (for WebRTC).
>
> The project can be found at:
>
>   * https://github.com/miconda/sipexer
>
> It is written in Go language for better portability, binaries for Linux,
> MacOS and Windows are made available for download in the release page:
>
>   * https://github.com/miconda/sipexer/releases/tag/v1.0.0
>
> Among its features:
>
>   *  send OPTIONS request (quick SIP ping to check if server is alive)
>   *  do registration and un-registration with customized expires value
> and contact URI
>   *  authentication with plain or HA1 passwords
>   *  set custom SIP headers
>   *  template system for building SIP requests
>   *  fields in the templates can be set via command line parameters or a
> JSON file
>   *  variables for setting field values (e.g., random number, data,
> time, environment variables, uuid, random string, …)
>   *  simulate SIP calls at signalling layer (INVITE-wait-BYE)
>   *  respond to requests coming during SIP calls (e.g., OPTIONS keepalives)
>   *  send instant messages with SIP MESSAGE requests
>   *  color output mode for easier troubleshooting
>   *  support for many transport layers: IPv4 and IPv6, UDP, TCP, TLS and
> WebSocket (for WebRTC)
>   *  send SIP requests of any type (e.g., INFO, SUBSCRIBE, NOTIFY, …)
>
> One usage example that could ease the testing of Kamailio is initiating
> registrations or simulating calls over WebSocket without the need of
> having a JavaScript soft phone application running in a web browser.
>
> Cheers,
> Daniel
>
> --
> Daniel-Constantin Mierla
> http://www.asipto.com
>
>
> ___
> Kamailio (SER) - Development Mailing List
> sr-dev@lists.kamailio.org
> https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev
>
-- 
VoIP Embedded, Inc.
http://www.voipembedded.com
___
Kamailio (SER) - Development Mailing List
sr-dev@lists.kamailio.org
https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-dev