API call from asterisk server

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
2 Likes

Thanks for the reply @gjoseph. This is working. Thank you so much for helping.

This topic was automatically closed 30 days after the last reply. New replies are no longer allowed.