Jump to content

Voicemail Rewind/Fast Forward


Noah Mehl

Recommended Posts

We've had many requests by users who want to rewind and fast forward (via DTMF) while listening to voicemails.

As such, there is a Freeswitch api command: 

uuid_fileman

That allows for seek, pause, etc.  I've done some preliminary testing, and pause works great, and seek does not for MP3's.

A couple of things would need to happen:

  1. Assign DTMF keys for rewind and fast forward (perhaps * and #?)
  2. Update docs to reflect voicemail recording type required for fast forward and rewind
    1. Or, figure out what seek isn't working with MP3's

 

Link to comment
Share on other sites

  • 3 months later...
  • 3 months later...
  • 2 weeks later...

Hey everyone who is following this post.  We are mostly complete on our PR for this feature.  However, I think there is a bug in Freeswitch preventing this from working :(

From my testing, uuid_fileman seek doesn't work when a file is played back from http_cache.  I verified this by deploying Freeswitch 1.8 from the upstream Debian repo and trying the following extensions:

    <!-- uuid_fileman local test extension -->
    <extension name="uuid-fileman-test-local">
      <condition field="destination_number" expression="^uuid-fileman-local$">
        <action application="bind_digit_action" data="cc,4,api:uuid_fileman, ${uuid} seek:-16000" />
        <action application="bind_digit_action" data="cc,6,api:uuid_fileman, ${uuid} seek:+16000" />
        <action application="answer"/>
        <action application="sleep" data="1000"/>
        <action application="playback" data="/usr/share/freeswitch/sounds/music/custom/rick-rolled.mp3" />
      </condition>
    </extension>

    <!-- uuid_fileman http test extension -->
    <extension name="uuid-fileman-test-http">
      <condition field="destination_number" expression="^uuid-fileman-http$">
        <action application="bind_digit_action" data="cc,4,api:uuid_fileman, ${uuid} seek:-16000" />
        <action application="bind_digit_action" data="cc,6,api:uuid_fileman, ${uuid} seek:+16000" />
        <action application="answer"/>
        <action application="sleep" data="1000"/>
        <action application="playback" data="http_cache://http://localhost/rick-rolled.mp3" />
      </condition>
    </extension>

The first is playing back from the local filesystem and the actions work perfectly.  The second is playing back from an http location and the actions do not work.

@mc_ and @lazedo do we have any way to get this resolved?  We're happy to sponsor this, I'm just unsure on how to get it fixed, or if there's another way to get this done.

Link to comment
Share on other sites

  • 1 month later...
  • 3 weeks later...

@mc_ I'm not sure which version of Freeswitch is distributed with 4.3.  If it's 1.6.x the answer is no, because the FS hasn't back ported anything to 1.6.x in a LONG time.  If it's 1.8.x, then yes, master was merged into 1.8.x on 6/6/2019:

https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/f55c58fd8d9077172141a653c8794917e2e392b0#src/mod/applications/mod_http_cache/mod_http_cache.c

That being said, the commit with the fix can be cherry-picked into 1.6 cleanly:

https://freeswitch.org/stash/projects/FS/repos/freeswitch/commits/15c4647c8cf193f2188d1e3548a13a0ad720e710

Link to comment
Share on other sites

×
×
  • Create New...