<div dir="ltr"><div><div>Hi,<br><br></div>It may well be an issue with Asterisk.<br></div>Here is the HTTP traffic dump<br><br>------------<br>{"state":"queued","format":"wav","name":"voicemail/ 60000/1458310870.38","target_uri":"channel:1458310870.16"}POST /ari/recordings/live/voicemail/%2060000/1458310870.38/stop HTTP/1.1
<br>Host: <a href="http://37.139.25.109:8088">37.139.25.109:8088</a>
<br>Content-Length: 0
<br>Authorization: Basic YXN0ZXJpc2s6YXN0ZXJpc2s=
<br>Accept-Encoding: gzip, deflate, compress
<br>Accept: */*
<br>User-Agent: python-requests/2.2.1 CPython/2.7.6 Linux/3.13.0-77-generic
<br> <br>HTTP/1.1 404 Not Found
<br>Server: Asterisk/13.7.2
<br>Date: Fri, 18 Mar 2016 14:21:13 GMT
<br>Cache-Control: no-cache, no-store
<br>Content-type: application/json
<br>Content-Length: 32
<br> <br>{"message":"Resource not found"}<br><br>------------<br><div><div><div><br></div><div>The weird thing is that recording is saved in Asterisk nicely, no issues with saving the recordings.<br></div><div>I tried changing the code example and modified the recording path in example to be extension dialed (60000) and it worked, no HTTP error response.<br></div><div>In the failure case, recording path is 'voicemail/%2060000/1458310870.38'.<br><br></div><div>Thanks,<br></div><div>Nitesh<br></div><div><br><br></div><div><br></div></div></div></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Mar 18, 2016 at 2:57 PM, Mark Michelson <span dir="ltr"><<a href="mailto:mmichelson@digium.com" target="_blank">mmichelson@digium.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div class="HOEnZb"><div class="h5">On 03/18/2016 06:18 AM, Nitesh Bansal wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hello,<br>
<br>
I'm using the latest version of ari-py library.<br>
I'm trying the following demo <a href="https://wiki.asterisk.org/wiki/display/AST/ARI+and+Media%3A+Part+1+-+Recording" rel="noreferrer" target="_blank">https://wiki.asterisk.org/wiki/display/AST/ARI+and+Media%3A+Part+1+-+Recording</a>.<br>
<br>
Everything is setup correctly, I can call Asterisk, but when I press the DTMF '#' to<br>
stop the recording, my python library throws an exception.<br>
<br>
<br>
Entering recording state<br>
Recording voicemail at voicemail/ 60000/1458299017.29<br>
stopping recording LiveRecording(voicemail/ 60000/1458299017.29)<br>
ERROR:ari.client:Event listener threw exception<br>
Traceback (most recent call last):<br>
  File "build/bdist.linux-x86_64/egg/ari/client.py", line 100, in __run<br>
    callback(msg_json, *args, **kwargs)<br>
  File "build/bdist.linux-x86_64/egg/ari/client.py", line 198, in extract_objects<br>
    event_cb(obj, event, *args, **kwargs)<br>
  File "build/bdist.linux-x86_64/egg/ari/model.py", line 181, in fn_filter<br>
    fn(objects, event, *args, **kwargs)<br>
  File "/root/asterisk_ari/ari-py/examples/ari_bridges/recording_demo/recording_state.py", line 39, in on_dtmf<br>
    self.recording.stop()<br>
  File "build/bdist.linux-x86_64/egg/ari/model.py", line 155, in enrich_operation<br>
    return promote(self.client, oper(**kwargs), oper.json)<br>
  File "build/bdist.linux-x86_64/egg/ari/model.py", line 354, in promote<br>
    resp.raise_for_status()<br>
  File "/usr/lib/python2.7/dist-packages/requests/models.py", line 773, in raise_for_status<br>
    raise HTTPError(http_error_msg, response=self)<br>
HTTPError: 404 Client Error: Not Found<br>
<br>
It is throwing error on the line<br>
'self.recording.stop'<br>
<br>
Personally, I can't see anything wrong with this code, any ideas what I'm doing wrong or<br>
is there any bug in the ARI lib?<br>
<br>
Thanks,<br>
Nitesh<br>
<br>
</blockquote></div></div>
Hi.<br>
<br>
It's hard to tell exactly what's going wrong here, but Asterisk is responding to the HTTP request with a 404. This likely means that Asterisk can't find the recording in question. Although it is also possible that the URI being passed by python to Asterisk does not "resolve" as expected. If you look at the HTTP traffic, you may be able to tell more clearly why the 404 is being sent.<br>
<br>
It's certainly possible there's a bug in Asterisk, but I would be more willing to bet that there's some sort of error in the python example. Although, like you, I don't immediately see the problem in the python code.<span class="HOEnZb"><font color="#888888"><br>
<br>
Mark Michelson<br>
<br>
-- <br>
_____________________________________________________________________<br>
-- Bandwidth and Colocation Provided by <a href="http://www.api-digital.com" rel="noreferrer" target="_blank">http://www.api-digital.com</a> --<br>
<br>
asterisk-dev mailing list<br>
To UNSUBSCRIBE or update options visit:<br>
  <a href="http://lists.digium.com/mailman/listinfo/asterisk-dev" rel="noreferrer" target="_blank">http://lists.digium.com/mailman/listinfo/asterisk-dev</a><br>
</font></span></blockquote></div><br></div>