Release Summary for 4.0.5
  Changes to 4.0 after version 4.0.4
  * __KAZOO-5169__ fax processor keeps pending jobs forever if it doesn&#039;t receive feedback
  * __KAZOO-5124__ As a platform admin I want to be able to rate calls based on resource/gateway used
  * __KAZOO-4883__ As a developer, I want on-hold information from my phones exposed in websockets, so I can display it in the UI
  <table id='changeLog'>
  	<tr>
  		<th class='clName'>Name</th>
  		<th class='clReporter'>Reporter</th>
  		<th class='clSummary'>Summary</th>
  		<th class='clDescription'>Description</th>
  	<tr>
  	<tr>
  	    <td class='clName'>KAZOO-5169</td>
  	    <td class='clReporter'>Luis Azedo &lt;luis@2600hz.com&gt;</td>
  	    <td class='clSummary'>fax processor keeps pending jobs forever if it doesn&#039;t receive feedback</td>
  	    <td class='clDescription'>the fax_worker doesn&#039;t ack the request if it fails acquiring the fax job.
  this is by design due to possible process concurrency.
  if it fails because of database failure the controller keeps it pending.
  </td>
  	    </td>
      </tr>
  	<tr>
  	    <td class='clName'>KAZOO-5124</td>
  	    <td class='clReporter'>Kirill Sysoev &lt;iam@onnet.su&gt;</td>
  	    <td class='clSummary'>As a platform admin I want to be able to rate calls based on resource/gateway used</td>
  	    <td class='clDescription'>Use cases:
  Permanent use case:
  Customer:
  - has DIDs form different countries (cities);
  - wants to place calls to these countries (cities) using it&#039;s local DIDs to pay less (as local) or to pretend as his business is local;
  Carrier:
  - routes calls through gateways installed in this countries (cities) based on used DID; 
  - wants to rate calls based on used gateway in order to rate local to this gateway calls as local, etc...   
  Result:
  - customer happy because of given freedom and fair charging;
  - carrier happy because of customer&#039;s happiness :)
  Temporary use case (because of current absence of multiple ratedeck feature):
  With ability to filter rates by resource_id we can store rates of different resellers in one ratedeck database.
  Being able to do this, each reseller can has it&#039;s own ratedeck.
  This is a kind of a half-solution of multiple ratedeck problem.
  With some discounts manipulation we can achieve KVAZI-MULTIPLE-RATEDECKNESS :)  
  Proposed solution:
  - Rate doc&#039;s options field populated with resource&#039;s ID (or IDs list) this rate belongs to;
  - Set reseller&#039;s or global config &quot;hotornot-&gt;filter_by_resource_id&quot; flag to true;
  - use rate candidates with needed resource_id in it&#039;s option&#039;s field list only.
  Regards</td>
  	    </td>
      </tr>
  	<tr>
  	    <td class='clName'>KAZOO-4883</td>
  	    <td class='clReporter'>Aaron Gunn &lt;aaron@2600hz.com&gt;</td>
  	    <td class='clSummary'>As a developer, I want on-hold information from my phones exposed in websockets, so I can display it in the UI</td>
  	    <td class='clDescription'>-</td>
  	    </td>
      </tr>
  </table>
  * bitbashing/lazedo [HELP-25782: dont reconnect during disconnect (#2783)  * HELP-25782: dont reconnect during disconnect](https://github.com/2600hz/kazoo/commit/0de0a7e701fc08c89c30bf1f20e3a64c912cae36)
  * Romana/lazedo [Update kz_att_s3.erl (#2726)  add use case where users att creds could be changed    added case where system creds may be invalid    mae ci happy again    make ci happy again    updated vars    changed system_props to handler_props    changed props to conn    changed the vars return format to be default    using host bucket and path from old config    use the new creds only when the bucket and host have changed    made code more readable](https://github.com/2600hz/kazoo/commit/c9876a158a1bd02bad61e89d37a6e8e480fcf912)
  * icehess/lazedo [HELP-25706: add missing publish_fun and make customer_update previewable (#2779)  * HELP-25706: add missing publish_fun and make customer_update previewable    * HELP-25706: set Fax-Result-Code correctly for fax_inbound_error template    * HELP-25706: fix crashes when previewing fax_inbound_error_to_email](https://github.com/2600hz/kazoo/commit/b351118876dbcd806ca003935bd5eb2997d318f1)
  * Daniel Finke/lazedo [Fold properly when conference search result is empty (#2780)](https://github.com/2600hz/kazoo/commit/7825527abf8b50ca9cc7af8ec9ec20f5d348ec98)
  * John Nowlin/James Aimonetti [restart kz_media_file_cache if working has terminated or is missing (#2778)](https://github.com/2600hz/kazoo/commit/77743fa3aad645c728aeb7771ef8191759a46195)
  * skorobkov/lazedo [Add &quot;exp&quot; claim to JWT (#2686)](https://github.com/2600hz/kazoo/commit/e31f2f8974a13383bccbd35daf67cd4e92fbe403)
 -- 2600Hz Offical <packages@2600hz.com>  Thu, 10 Nov 2016 10:23:19 PM +0000
