title: NSURLSession / NSURLRequestNetworkServiceType - disable tcp buffering / caching (nagle algorithm)
body: <p>for a network live voice communication over http I need to disable every caching and buffering algorithms in a <code>NSURLSession</code> on iOS (Objective-C).</p>
  
  <p>I've seen that in a NSURLSessionConfiguration object, i can set the <strong><code>networkServiceType</code></strong> property (<em><code>NSURLRequestNetworkServiceType</code></em>) to <strong><code>NSURLNetworkServiceTypeVoice</code></strong>. </p>
  
  <p>Apple's documentation says for <strong><code>networkServiceType</code></strong>:</p>
  
  <blockquote>
    <p>The network service type provides a hint to the operating system about
    what the underlying traffic is used for. This hint enhances the
    system's ability to prioritize traffic, determine how quickly it needs
    to wake up the cellular or Wi-Fi radio, and so on. By providing
    accurate information, you improve the ability of the system to
    optimally balance battery life, performance, and other considerations.</p>
  </blockquote>
  
  <p>and for <strong><code>NSURLNetworkServiceTypeVoice</code></strong></p>
  
  <blockquote>
    <p>Specifies that the request is for voice traffic.</p>
  </blockquote>
  
  <p>But it's not clear, if tcp buffering like the nagle algorithm is disabled for voice or not.</p>
  
  <p>PS: I need a solution for iOS7+.</p>