SIP Client Software for Raspberry Pi/ESP32

Job ID: 40194405

Budget: £20 – £250 GBP

I am looking for someone that can write some software either for the Raspberry Pi or an ESP32 that is a SIP client that will register with a remote Asterisk server and wait for telephone calls. When a call is received the software will answer the call then hang up. If the callers number is in a list of valid numbers the software then activates a GPIO line, otherwise it ignores the call. It then goes back to waiting for a call.

If you choose to write for the Pi it will be running with the SD card in readonly mode so it will have to store any variables in RAM.

The list of valid phone numbers will be downloaded from a remote API - just a simple RESTful JSON client with a token for authentication over a secure (https) link. The software should refresh the list once every hour by default. Wildcards * are allowed. For example:
441234567890
441234*
44*
*

The first example only allows the specific number; the second example allows all callers from that area code; the third example allows all UK callers; the fourth example allows any caller. The list may contain one or more entries.

Any parameters should be easily configured in one config file, for example:
How often the list of valid numbers is updated; the API URL to retrieve the numbers from; how many seconds to wait before answering; how many seconds to wait before hanging up after answering; which GPIO pin to activate; anything else you can think of!