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
Hello Daniel,
Very nice tool! Thank you for sharing!
-ovidiu
On Mon, Feb 14, 2022 at 09:02 Daniel-Constantin Mierla daniel@asipto.com 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:
It is written in Go language for better portability, binaries for Linux, MacOS and Windows are made available for download in the release page:
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
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
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 jh@tutpro.com 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
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 jh@tutpro.com 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
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 miconda@gmail.com 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 jh@tutpro.com 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)
Cool cool cool.
On Tue, Feb 15, 2022 at 3:01 AM Alex Balashov abalashov@evaristesys.com wrote:
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 miconda@gmail.com
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 jh@tutpro.com 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)
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Daniel, Thanks, now we have something between sipsak and sipp. But just small clarification on CLI parameters format. I've noticed, that long and short version of parameter starting with single -(hyphen). Is it something go-specific, or it could be used in more-gnu way like single hyphen for short and double-hyphen for long? As an example from help -co color output -color-message color SIP message output -color-output color output -com color SIP message output
And to add, support of ENV vars is a great idea! Now using separate docker images with CI/CD looks even better! Many thanks for your work!
As an another testing suite example: https://github.com/igorolhovskiy/volts It's based on voip_patrol, but a bit reworked. (Was about to make a presentation of it on next KWC, please count me in :) ) I'm thinking of expanding it with other SIP testing tools and sipexer looks nice from this point of view.
PS: For hyphen/double-hyphen I can try to prepare a PR, but not sure if it's not compatibility break with already possible existing pipelines somewhere.
вт, 15 февр. 2022 г. в 05:05, Seven Du dujinfang@gmail.com:
Cool cool cool.
On Tue, Feb 15, 2022 at 3:01 AM Alex Balashov abalashov@evaristesys.com wrote:
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 <
miconda@gmail.com> 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 jh@tutpro.com 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)
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- About: http://about.me/dujinfang Blog: http://www.dujinfang.com Other: http://rts.cn
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Hello,
the hypens-style is (or at least seems to be) Go specific, but actually there is flexibility in using one or two with any parameter type, like:
sipexer -v
sipexer --v
sipexer -version
sipexer --version
The help message is printed by a Golang internal function from the 'flag' package (the one that parsed cli params), respectively:
flag.PrintDefaults()
It lacks the ability to group many cli params for the same purpose (e.g., the short and long forms), there are other external go packages that can do it, but I preferred to go for the package offered directly by golang to avoid situation when external packages go unmaintained in the future.
Pull requests are welcome, of course!
Cheers, Daniel
On 16.02.22 10:05, Igor Olhovskiy wrote:
Daniel, Thanks, now we have something between sipsak and sipp. But just small clarification on CLI parameters format. I've noticed, that long and short version of parameter starting with single -(hyphen). Is it something go-specific, or it could be used in more-gnu way like single hyphen for short and double-hyphen for long? As an example from help -co color output -color-message color SIP message output -color-output color output -com color SIP message output
And to add, support of ENV vars is a great idea! Now using separate docker images with CI/CD looks even better! Many thanks for your work!
As an another testing suite example: https://github.com/igorolhovskiy/volts It's based on voip_patrol, but a bit reworked. (Was about to make a presentation of it on next KWC, please count me in :) ) I'm thinking of expanding it with other SIP testing tools and sipexer looks nice from this point of view.
PS: For hyphen/double-hyphen I can try to prepare a PR, but not sure if it's not compatibility break with already possible existing pipelines somewhere.
вт, 15 февр. 2022 г. в 05:05, Seven Du dujinfang@gmail.com:
Cool cool cool. On Tue, Feb 15, 2022 at 3:01 AM Alex Balashov <abalashov@evaristesys.com> wrote: 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 <miconda@gmail.com> 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 <jh@tutpro.com> 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 <http://www.asipto.com> > www.twitter.com/miconda <http://www.twitter.com/miconda> -- www.linkedin.com/in/miconda <http://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 - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users -- About: http://about.me/dujinfang Blog: http://www.dujinfang.com Other: http://rts.cn __________________________________________________________ Kamailio - Users Mailing List - Non Commercial Discussions * sr-users@lists.kamailio.org Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: * https://lists.kamailio.org/cgi-bin/mailman/listinfo/sr-users
-- Best regards, Igor
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
Very cool Daniel! Very appreciated!
On Wed, 16 Feb 2022 at 09:39, Daniel-Constantin Mierla miconda@gmail.com wrote:
Hello,
the hypens-style is (or at least seems to be) Go specific, but actually there is flexibility in using one or two with any parameter type, like:
sipexer -v
sipexer --v
sipexer -version
sipexer --version
The help message is printed by a Golang internal function from the 'flag' package (the one that parsed cli params), respectively:
flag.PrintDefaults()
It lacks the ability to group many cli params for the same purpose (e.g., the short and long forms), there are other external go packages that can do it, but I preferred to go for the package offered directly by golang to avoid situation when external packages go unmaintained in the future.
Pull requests are welcome, of course!
Cheers, Daniel On 16.02.22 10:05, Igor Olhovskiy wrote:
Daniel, Thanks, now we have something between sipsak and sipp. But just small clarification on CLI parameters format. I've noticed, that long and short version of parameter starting with single -(hyphen). Is it something go-specific, or it could be used in more-gnu way like single hyphen for short and double-hyphen for long? As an example from help -co color output -color-message color SIP message output -color-output color output -com color SIP message output
And to add, support of ENV vars is a great idea! Now using separate docker images with CI/CD looks even better! Many thanks for your work!
As an another testing suite example: https://github.com/igorolhovskiy/volts It's based on voip_patrol, but a bit reworked. (Was about to make a presentation of it on next KWC, please count me in :) ) I'm thinking of expanding it with other SIP testing tools and sipexer looks nice from this point of view.
PS: For hyphen/double-hyphen I can try to prepare a PR, but not sure if it's not compatibility break with already possible existing pipelines somewhere.
вт, 15 февр. 2022 г. в 05:05, Seven Du dujinfang@gmail.com:
Cool cool cool.
On Tue, Feb 15, 2022 at 3:01 AM Alex Balashov abalashov@evaristesys.com wrote:
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 <
miconda@gmail.com> 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 jh@tutpro.com 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)
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- About: http://about.me/dujinfang Blog: http://www.dujinfang.com Other: http://rts.cn
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- Best regards, Igor
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
-- Daniel-Constantin Mierla -- www.asipto.comwww.twitter.com/miconda -- www.linkedin.com/in/miconda Kamailio Advanced Training - Online Feb 21-24, 2022 (America Timezone)
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe:
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.
There didn't seem to be many SIP parsers when I looked when I chose C instead of Go to use libosip2 which is very, very mature.
Looking forward to trying this in my GitHub Actions as I was about to plumb in SIPp scenarios:
https://github.com/SentryPeer/SentryPeer/actions
I also looked at Rust SIP crates, not many either...
Nice work.
Thanks, Gavin.
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
Glorious!!!!!
Thanks a lot Daniel, very very very much appreciated!!!
-giovanni
On Mon, Feb 14, 2022 at 7:42 PM Daniel-Constantin Mierla miconda@gmail.com wrote:
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)
Kamailio - Users Mailing List - Non Commercial Discussions
- sr-users@lists.kamailio.org
Important: keep the mailing list in the recipients, do not reply only to the sender! Edit mailing list options or unsubscribe: