How to channel originate SIP in Asterisk ARI? - rest

I try to make call via Asterisk REST API, I want to make a call like this (CLI command example):
channel originate SIP/4444#sipprovider application playback tt-monkeys
I try to use curl for that:
curl -v -u admin:pass -X POST "http://127.0.0.1:8085/ari/channels?endpoint=SIP/1000&extension=4444&context=sipprovider"
When I post the request I get this error:
Allocation failed
What did I do wrong?

If I try using SIP, I get the same error. You might have PJSIP enabled instead of SIP.
Try using PJSIP instead of SIP.
Example:
curl -v -u asterisk:asterisk -X POST "http://localhost:8088/ari/channels?endpoint=PJSIP/5001&extension=5002&context=internal"

Related

Sending mail with curl on Windows via MS Exchange Server

I am trying to send an email using curl on Windows 10 through an MS Exchange Server. The email is sent to another user in the same Active Directory domain, and the user who is sending the email is already authenticated under Windows.
Given the above, I can successfully send an email using telnet as follows:
or PowerShell as follows:
Given that the above two commands work, I am looking for the equivalent curl command. I have looked at the following SO answer:
Using curl to send email
and tried the following command (and many other combinations of options), but with no success.
curl -v --url "webmail.jXs.com:25" --mail-from "r#jXs.com" --mail-rcpt "s#jXs.com" --upload-file mail.txt
I get the following output:
where the mail.txt file is:
So, what is wrong with my curl command? Thanks.
Apparently when using curl, we have to specify the smtp communication protocol in the url (which is not necessary when using telnet or powershell). So, adding smtp:// to the url made the curl command work.
curl -v --url "smtp://webmail.jXs.com:25" --mail-from "r#jXs.com" --mail-rcpt "s#jXs.com" --upload-file mail.txt

Is it possible to run a curl command with a splunk dbxquery?

I am developing a dashboard that connects to Splunk via REST API and displays data on various charts/graphs etc. In order to get the data I have to make a POST request via curl (node.js). Everything is working great. However when I try to make a Post request with a dbxquery, it fails and returns 'fatal dbxquery unknown command.' I was wondering if anyone had encountered this before.
curl -H 'Authorization: Basic auth token' -k https://devfg.com:8089/services/search/jobs -d search=" | dbxquery query=\"SELECT count(*) FROM db.table\" connection=\"connection\"" -d output_mode=json
Are the permissions for the dbxquery command set to be executable from any app? Check under app permissions to see if the command is globally exported.
Alternatively, you may need to escape the *, so \*.
Otherwise, you should be able to run the dbxquery via a curl command.

IBM Cloud API Docs Tone Analyzer

I tried to implement :
curl -u "apikey:{apikey}" "{url}/{method}"
resorce:https://console.bluemix.net/apidocs/tone-analyzer
My question what I need to do? I already have the api key, for example 1234,
and my url is https://gateway.watsonplatform.net/tone-analyzer/api
First what is the: {method} in the above cURL request and what do I need to do with that?
Question 2 this is correct?:
curl -u "apikey:1234" "https://gateway.watsonplatform.net/tone-analyzer/api/{method}
In the cURL request below:
curl -X GET -u "apikey:{apikey}" "https://gateway.watsonplatform.net/tone-analyzer/api/v3/tone?version=2017-09-21&text=Team,%20I%20know%20that%20times%20are%20tough!%20Product%20sales%20have%20been%20disappointing%20for%20the%20past%20three%20quarters.%20We%20have%20a%20competitive%20product,%20but%20we%20need%20to%20do%20a%20better%20job%20of%20selling%20it!"
The {URL} is https://gateway.watsonplatform.net/tone-analyzer/api and {method} is /v3/tone. To under the endpoint, check this link
You are making a GET method call and for this, you need to create a service at https://console.bluemix.net/catalog/services/tone-analyzer
For more information on how to get an API key, refer to this link

Example REST Extension does not xdmp:log anything when invoking POST

I trying to debug a REST extension in MarkLogic by using xdmp:log() inside the XQuery. Seems I am having some issues invoking a POST call in general actually...? Bit confused now.
I use the exact example code as from the MarkLogic documentation here
I installed it via Roxy > deploy > ext
It is there when I look into http://host:port/v1/config/resources
The PUT command provided in the doc works and returns the "Done".
But I cannot get the POST statement to dump the xdmp:log messages in the errorlog.txt on the server?
I tried several curl commands:
curl --anyauth --user admin:admin -X POST http://host:8040/LATEST/resources/example
curl: (52) Empty reply from server
Question: What is the correct curl command to trigger the examples POST functon so something shows up in the log?
This is a curl issue. You need to specify a request body for curl to send.
curl --anyauth --user admin:admin -X POST -d '{"key":"value"}' http://host:8040/LATEST/resources/example
Or if you want to send an empty body just do this:
curl --anyauth --user admin:admin -X POST -d '' http://host:8040/LATEST/resources/example

curl with REST API

I want to test an API using curl for Mac.
According to the REST API documentation/forums, the URL should look like this:
http://localhost:8080/sdpapi/request/?OPERATION_NAME=ADD_REQUEST&<your API key>&<Operation> <Details><requester>Me</requester><subject>Test</subject><description>Testing Curl Input</description></Details></Operation>
Here is what I have come up with for the curl command line input:
curl -X POST -d "OPERATION_NAME=ADD_REQUEST&TECHNICIAN_KEY=0...87&INPUT_DATA=<Operation><Details><requester>Me</requester><subject>Test</subject><description>Testing curl input</description></Details></Operation>" http://myserver.mydomain.org/sdpapi/request/  
I haven't tried it yet because I am BRAND NEW to this and I'm sure there are problems. Does this look OK and should I give it a whirl?
Figured it out: curl -d "OPERATION_NAME=ADD_REQUEST&TECHNICIAN_KEY=xxxxxxxxxx&INPUT_DATA=TestData.xml" http://xxx.xxx.xx.xx/sdpapi/request/