Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add support for newer SIMCom devices #111

Open
wants to merge 1 commit into
base: master
Choose a base branch
from

Conversation

petersenna
Copy link

This patch adds support to event driven calls for newer SIMCom devices such as the SIM7100, SIM7500, and SIM7600.

These devices support the command "AT+CLCC=1" which sets the modem to print the CLCC output on every call status change. I made an effort to to probe modem upport for automatic reporting by trying setting AT+CLCC to 1. The untested assumption is that the command will fail if the modem does not support it.

The regular expressions used for _handleCallAnswered, _handleCallInitiated, and _handleCallEnded are simply a copy and paste from the regular expression used for CLCC, replacing what was on the third group by a fixed number representing the call status. For example, using the number 6 to indicate that the call was disconnected.

To detect the newer devices I used the availability of the +SIMCOMATI command but I am not really sure how reliable this is. My concern is of false positives for devices that could support the +SIMCOMATI and not support the automatic reporting of "AT+CLCC=1".

This was tested on an SIM7600G.

Signed-off-by: Peter Senna Tschudin peter.senna@spearline.com

This patch adds support to event driven calls for newer SIMCom devices
such as the SIM7100, SIM7500, and SIM7600.

These devices support the command "AT+CLCC=1" which sets the modem to
print the CLCC output on every call status change. I made an effort to
to probe modem upport for automatic reporting by trying setting AT+CLCC
to 1. The untested assumption is that the command will fail if the modem
does not support it.

The regular expressions used for _handleCallAnswered,
_handleCallInitiated, and _handleCallEnded are simply a copy and paste
from the regular expression used for CLCC, replacing what was on the
third group by a fixed number representing the call status. For example,
using the number 6 to indicate that the call was disconnected.

To detect the newer devices I used the availability of the +SIMCOMATI
command but I am not really sure how reliable this is. My concern is of
false positives for devices that could support the +SIMCOMATI and not
support the automatic reporting of "AT+CLCC=1".

This was tested on an SIM7600G.

Signed-off-by: Peter Senna Tschudin <peter.senna@spearline.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

None yet

1 participant