• Andrea Gianarda's avatar
    In the call parameters, there are 2 ways of setting the from address · 2dc884fb
    Andrea Gianarda authored
    when initiating a call;
    - from header
    - account
    These 2 parameters are dependent from each other which makes tricky for
    the core to know exactly which account to use and the correct from
    address.
    In most scenarios, the from address is the account's identity address
    but it is not always the case such as in the case of a direct call.
    Moreover, the account cannot be always deduced in a straightforward
    matter such as if the core has no default account (but it is registered
    with one or more accounts) and the call parameters have not set one.
    
    The algorithm for choosing an account is the following:
    1) search in the call parameters
    2) get the default account
    3) look up for the best guessed account based on the from (if known) or
       to address
    
    The algorithm for known the from address is the following:
    1) look for the from header in the call parameters
    2) look up for the identity address of the account (if known)
    3) get the core primary account
    
    Set Ik SDP attribute based on the account used for a call
    
    Use account set in the call parameters before retrieving the NAT policy.
    It may happen that a call session is buuild without passing an account
    and in such a case, the SDK will do its best to get one
    2dc884fb
tools_common.c 653 bytes
/*
 *  Copyright (c) 2010 The WebM project authors. All Rights Reserved.
 *  Use of this source code is governed by a BSD-style license
 *  that can be found in the LICENSE file in the root of the source
 *  tree. An additional intellectual property rights grant can be found
 *  in the file PATENTS.  All contributing project authors may
 *  be found in the AUTHORS file in the root of the source tree.
 */
#include <stdio.h>
#include "tools_common.h"
#ifdef _WIN32
#include <io.h>
#include <fcntl.h>
#endif
FILE* set_binary_mode(FILE *stream)
    (void)stream;
#ifdef _WIN32
    _setmode(_fileno(stream), _O_BINARY);
#endif
    return stream;