Summary:ASTERISK-19561: libwat support (Wireless AT Library)
Reporter:David Yat Sin (dyatsin)Labels:
Date Opened:2012-03-19 14:17:03Date Closed:2012-08-02 10:19:29
Versions:SVN Frequency of
Environment:Linux 32/64-bit Requires GSM hardwareAttachments:
Hello Asterisk developers,
There are multiple GSM cards that can be used with Asterisk out there, but currently each vendor is using their own channel drivers (mostly based on chan_dahdi). With the release of our GSM cards, Sangoma Technologies has developed an AT commands library to support GSM modules, called LibWAT (Wireless AT).

Just like LibPRI and LibSS7, LibWAT uses DAHDI interface to talk to the kernel drivers. It is completely open-source, and our ultimate goal is to make it the de-facto GSM library for Asterisk.

LibWAT is designed to work with any GSM modules. In addition to the GSM 7.07 spec, LibWAT also has provision for vendor specific AT commands. Even though we have only tested with Telit GSM modules so far, we encourage anyone willing to participate with the LibWAT project to test LibWAT with their GSM module of choice so we can support as many GSM modules as possible.

LibWAT is available on GitHub. The main development branch can be downloaded using git:

git clone git://github.com/sangoma-dev/libwat.git

Instructions on how to configure LibWAT with Sangoma cards can be found here:

I posted the changes required to chan_dahdi.c below:
ftp://ftp.sangoma.com/linux/custom/DavidYS/asterisk.libwat.patch (tested against SVN rev:359905)

Suggestions and comments are welcome.

PS: I was not able to login on the reviewboard.asterisk.org with my JIRA credentials, can someone tell me how I can get an account to post on reviewboard.asterisk.org. Thanks
Comments:By: David Yat Sin (dyatsin) 2012-03-19 14:32:46.972-0500

Just wanted to mention that LibWAT licence is LGPL.

By: Matt Jordan (mjordan) 2012-03-19 16:08:24.725-0500

A few things:

1. For any code to be considered for inclusion in Asterisk, you must first sign a license contributor agreement in JIRA.
2. Your code must compile against Asterisk SVN trunk, and it must be attached in unified diff format on this issue.
3. Review Board, for a whole host of reasons that we are working on changing, uses a different username/password mechanism then JIRA or the other Atlassian tools.  You can contact me at mjordan@digium.com for a username/password for ReviewBoard - please provide the username you'd like.



By: Moises Silva (moy) 2012-06-19 14:00:14.983-0500

Hello Matt,

We signed the license agreement.

As requested by email we contacted Digium's product management and the feature got rejected by Pete Engler (Digium's product manager). The reasons are not quite clear to me. It is obvious there is other hardware manufacturers other than Digium out there that provide Asterisk hardware. In fact, there is non-Digium hardware drivers inside DAHDI itself (ie, Xorcom).

Before product management rejected the feature, it was clear to me that from a technical point of view, Kevin agreed this would not impact negatively the project and would not incur in a significant maintenance penalty for Digium. In fact, at Sangoma we're willing to maintain libwat and any libwat related changes that are part of chan_dahdi.

The technical impact is minimal since newer Asterisk versions have a more clear separation of signaling modules (sig_pri.c, sig_analog.c etc) and there is little changes in chan_dahdi.c

I also discussed this with Tzafrir, a long standing DAHDI maintainer and he also agreed having a unified GSM architecture would benefit the overall community. Currently there are several GSM hardware manufacturers and each one of them got around the lack of chan_dahdi GSM support in their own way, with patches, ugly clones of chan_dahdi etc.

Those other hardware manufacturers and their Asterisk users would benefit of this as the libwat proposed modifications *are not vendor specific*.

Even if Digium were eventually to have their own GSM card it could be seamlessly integrated just as different card manufacturers exist for PRI, SS7, MFCR2, Analog etc.

Could you update this JIRA ticket with Digium's view of why this will not be accepted? I don't think the maintenance is an issue, support for other signaling modules such as MFCR2 has been long resting on the community (and there are other examples), and yet it is part of Asterisk and pretty stable.

By: Fernando Romo (el_pop) 2012-06-19 14:19:37.038-0500

Is good for the community use DAHDI to support new kind of cards to simplify the develop and use process.

If Pete Engler (Digium's product manager) reject the support of GSM based in libWAT... i ask: ┬┐it's because is not Digium GSM Hardware?... The community spirit of Asterisk must go beyond a commercial issue.

Bests Regards.... Fernando "El Pop" Romo

By: Rusty Newton (rnewton) 2012-07-31 13:20:51.548-0500

Closing this out. It is my understanding that there has been a conversation outside of JIRA and this issue is no longer under discussion.

By: Moises Silva (moy) 2012-07-31 14:35:44.855-0500

Hello Rusty!

Can you elaborate a bit more?

There has not been any discussion since my last question/request for update (19/Jun/12 2:00 PM)

There was some email interchanges before that date though. I'd not call them a discussion since little arguments were exchanged.

I'd prefer if someone from Digium can state here explicitly whether this feature is being accepted or rejected and the reasoning.

I already described to the best of my abilities why the feature would be quite useful to the community and the maintenance plan. No response was provided.

By: Peter Engler (pengler) 2012-08-02 09:24:22.665-0500

The position regarding this issue has not changed and an e-mail was sent to Moises today reaffirming.

By: Moises Silva (moy) 2012-08-02 10:39:56.759-0500

Thank you for the update Pete.

I think it's unfortunate that community contributions that would clearly improve the open source Asterisk project are being dismissed by Digium due to commercial reasons (I must assume they are commercial since all Asterisk devs I talked to agreed this was a needed and nice addition).

I hope you reconsider your position regarding GSM signaling and its usefulness to the Asterisk users in the future.

By: Schmooze Com (schmoozecom) 2013-01-11 08:09:38.846-0600

I hate to bring up a old subject but FreePBX has been trying to integrate the different GSM cards that are on the market and its creating alot of issues.  Each manufacture is doing it their own way and it actually is worse when trying to patch for these changes.  OpenVox has it done one way and Sangoma does it another way but they conflict with each other so you can not allow both patches in the same asterisk/dahdi version.

I would ask that this be reconsidered again as Asterisk needs a standard for GSM cards and I thought one of the reasons for the change from zaptel to dahdi was to allow for better integration of any type of cards into asterisk/dahdi.

I guess I am asking what the official stance is on this and why it is being rejected.  This seems like a pretty simple request and would make all of our lives easier when trying to deal with the ever growing popularity of GSM cards.

I see reference the postion was stated in a email.  Can we get this postion stated openly in this ticket to allow us to make a better argument or decision on how to move forward.

By: Malcolm Davenport (mdavenport) 2013-02-06 13:20:24.629-0600


See - https://wiki.asterisk.org/wiki/display/AST/Vendor-Specific+Features

By: Moises Silva (moy) 2013-12-05 14:00:23.478-0600

For the record, a little proof of this not being vendor specific, another vendor adding support for their own boards was quite simple: https://github.com/sangoma-dev/libwat/commit/2dad999bb3fa8e0be2a01df14746512fa1eac207