前言
libosip2-4.1.0升级到libosip2-5.30
修改代码
sdp_message_parse_m
旧版本
static int
sdp_message_parse_m (sdp_message_t * sdp, char *buf, char **next)
{
  char *equal;
  char *crlf;
  char *tmp;
  char *tmp_next;
  int i;
  sdp_media_t *m_header;
  char *slash;
  char *space;
  *next = buf;
  equal = buf;
  while ((*equal != '=') && (*equal != '\0'))
    equal++;
  if (*equal == '\0')
    return ERR_ERROR;
  /* check if header is "m" */
  if (equal[-1] != 'm')
    return ERR_DISCARD;新版本
static int sdp_message_parse_m(sdp_message_t *sdp, char *buf, char **next) {
  char *equal;
  char *crlf;
  char *tmp;
  char *tmp_next;
  int i;
  sdp_media_t *m_header;
  char *slash;
  char *space;
  *next = buf;
  equal = buf;
  while ((*equal != '=') && (*equal != '\0'))
    equal++;
  if (*equal == '\0')
    return ERR_ERROR;
  /* check if header is "m" */
  if (equal[-1] != 'm')
    return ERR_ERROR; /* fixed Jan 10,2020: avoid a possible memory leak with m being not detected */区别
if (equal[-1] != 'm')应该返回ERR_ERROR(-1)还是ERR_DISCARD(0)
实际上如果出现f=参数,不应该返回-1,而应该返回0,旧版本才是正确的返回方式,因此多余的f=参数
eXosip_call_send_ack_to_peer
修改为
eXosip_call_send_ack
eXosip_call_terminate_to_peer
修改为
eXosip_call_terminate
订阅函数
旧版本
eXosip_subscribe_build_initial_request
新版本
eXoisp_subscription_build_initial_subscribe
自动订阅和定时发送注册信息
旧版本
eXosip_automatic_refresh
新版本
eXoisp_auomatic_action










