This README documents the sipgate.io functionality. A demo page can be found here.
sipgate.io sends a simple POST request with an application/x-www-form-urlencoded
payload. The request contains the following parameters:
Parameter | Description |
---|---|
from | The calling number (e.g. "492111234567" or "anonymous" ) |
to | The called number (e.g. "4915791234567" ) |
That's all!
You can simulate this POST request and test your server with a simple cURL command:
curl -X POST --data "from=492111234567&to=4915791234567" http://localhost:3000
After sending the POST request sipgate.io will accept an XML response to determine what to do. Make sure to set application/xml
in the Content-Type
header of your response and you are ready to go!
sipgate.io currently supports the following responses:
Action | Description |
---|---|
Reject | Reject call or pretend to be busy |
Pretend to be busy or block unwanted calls.
Possible attributes | Possible values | Default value |
---|---|---|
reason | rejected, busy | rejected |
Example 1: Reject call
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Reject />
</Response>
Example 2: Reject call signaling busy
<?xml version="1.0" encoding="UTF-8"?>
<Response>
<Reject reason="busy" />
</Response>
Stay tuned...
We compiled a collection of server examples to get you started:
You can enable logging for debugging purposes from your simquadrat dashboard. You will find each request and the corresponding response in the logging table.
You can use ngrep
to inspect the incoming requests on your side:
sudo ngrep -dany -Wbyline port 3000
We strongly encourage you to use a HTTPS server. Although we support plain HTTP connections we do not recommend pushing sensitive call details over unencrypted connections. By default sipgate.io does not accept self-signed certificates, but you can allow them in the simquadrat dashboard.
sipgate.io supports HTTP Basic Authentication. You can include your username and password within the URL (e.g. https://username:[email protected]:8080
).
Please tell us how we can improve sipgate.io. If you have a specific feature request, found a bug or would like to add an example, please use GitHub Issues or fork these docs and send a pull request with your improvements.