I want to send push notification using asterisk server to client. So for that I’m using API in nodejs which will send push notification using firebase device token.
I tried AGI() method, But I don’t know much about the working functionalities of this AGI() method.
So, Can we make an API call from the asterisk server? And If Yes then how can we implement it?
There’s a CURL function you can use in the dialplan to call any URL.
-= Info about function 'CURL' =-
[Synopsis]
Retrieve content from a remote web or ftp server
[Description]
When this function is read, a 'HTTP GET' (by default) will be used to retrieve
the contents of the provided <url>. The contents are returned as the result of
the function.
Example: Displaying contents of a page
exten => s,1,Verbose(0, ${CURL(http://localhost:8088/static/astman.css)})
When this function is written to, a 'HTTP GET' will be used to retrieve the
contents of the provided <url>. The value written to the function specifies the
destination file of the cURL'd resource.
Example: Retrieving a file
exten => s,1,Set(CURL(http://localhost:8088/static/astman.css)=/var/spool/aste
isk/tmp/astman.css))
NOTE: If 'live_dangerously' in 'asterisk.conf' is set to 'no', this function
can only be written to from the dialplan, and not directly from external
protocols. Read operations are unaffected.
[Syntax]
CURL(url[,post-data])
[Arguments]
url
The full URL for the resource to retrieve.
post-data
*Read Only*
If specified, an 'HTTP POST' will be performed with the content of
<post-data>, instead of an 'HTTP GET' (default).
[See Also]
CURLOPT