MP02 changing GPIO state based on call status

Skip to first unread message

Tony Rieker

Aug 7, 2019, 7:34:50 AM8/7/19
to Village Telco Development Community

I'm working with an art project that is using Mesh Potato MP02 / Dragino DT01 devices. One of the challenges we are currently facing is figuring out how to do something external to the Potato depending on ringing or call state. Currently I need only to blink some lights when the phone is ringing or enable the lighting during a call. While I am familiar with the device and have alsp spent some time reading thru the public code, it is not obvious to me what might be the easiest approach to the problem all things considered.

I'm curious if others have opinion on how changing GPIO state during ring or call may be solved? Some current thoughts are:

1. Create a new board that can detect phone calls/ringing based on the tip and ring signals and use that as the source. The advantage of this is no modifications to the potato hardware or software.
2. Interface with the SI chip somehow and have that application/script poll for state change. We're not fluent enough in linux yet for this to be clear. Can I interface with the kernel module from userland?
3. Write something for Asterisk, maybe a module, since presumably it knows how to interface with the daughter board. That could potentially call out to a script outside of Asterisk to toggle an unused GPIO pin. This seems like the most fragile of the 3 options. 

Are there unused GPIO available on the MP02?

Has anyone attempted this or similar and have thoughts on what might be the best route?

Thank you!

T Gillett

Aug 7, 2019, 8:18:37 AM8/7/19
to village-telco-dev
Hi Tony

Certainly you could build an external board to detect the AC ring voltage (~90V) and the DC loop current (~50mA) to indicate ring and off hook status for your basic needs.

But you might also like to have a look at the Asterisk console output during various call states (by running   # asterisk -vvvvvrddddd  from the command line).

Asterisk certainly knows about the call status at a fine grained level, so creating a module for asterisk to detect the conditions that you want may work out quite well.

GPIO lines are pretty much used up on that device as I recall, but there may be something that you could press into service eg comandeer one of the GPIOs used to drive the front panel LEDs.


You received this message because you are subscribed to the Google Groups "Village Telco Development Community" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
To view this discussion on the web visit
Reply all
Reply to author
0 new messages