⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 torture_sdp.c

📁 SIP协议栈实现
💻 C
📖 第 1 页 / 共 2 页
字号:
	if (i == -1)	  {	    fprintf (stdout, "ERROR: failed while printing message!\n");	    sdp_message_free (sdp);	    return -1;	  }	else	  {	    if (verbose)	      fprintf (stdout, "%s", result);	    if (strlen (result) != strlen (msg))	      fprintf (stdout, "length differ from original message!\n");	    if (0 == strncmp (result, msg, strlen (result)))	      fprintf (stdout, "result equals msg!!\n");	    osip_free (result);	    {	      osip_negotiation_ctx_t *context;	      sdp_message_t *dest;	      i = osip_negotiation_ctx_init (&context);	      i = osip_negotiation_ctx_set_mycontext (context, (void *) ua_context);	      {		sdp_message_t *sdp;		osip_negotiation_sdp_build_offer (osip_negotiation,						  context, &sdp,						  ua_context->m_audio_port,						  ua_context->m_video_port);		sdp_message_to_str (sdp, &result);		fprintf (stdout, "Here is the offer:\n%s\n", result);		osip_free (result);		osip_negotiation_sdp_message_put_on_hold (sdp);		sdp_message_to_str (sdp, &result);		fprintf (stdout, "Here is the offer on hold:\n%s\n", result);		osip_free (result);		sdp_message_free (sdp);	      }	      i = osip_negotiation_ctx_set_remote_sdp (context, sdp);	      if (i != 0)		{		  fprintf (stdout,			   "Initialisation of context failed. Could not negociate\n");		}	      else		{		  fprintf (stdout, "Trying to execute a SIP negotiation:\n");		  i = osip_negotiation_ctx_execute_negotiation (osip_negotiation,							       context);		  fprintf (stdout, "return code: %i\n", i);		  if (i == 200)		    {		      dest = osip_negotiation_ctx_get_local_sdp (context);		      fprintf (stdout, "SDP answer:\n");		      i = sdp_message_to_str (dest, &result);		      if (i != 0)			fprintf (stdout,				 "Error found in SDP answer while printing\n");		      else			fprintf (stdout, "%s\n", result);		      osip_free (result);		    }		  osip_negotiation_ctx_free (context);		  return 0;		}	    }	  }	sdp_message_free (sdp);      }  }  return 0;}inttest_accessor_set_api (sdp_message_t * sdp){  return 0;}inttest_accessor_get_api (sdp_message_t * sdp){  char *tmp;  char *tmp2;  char *tmp3;  char *tmp4;  char *tmp5;  int i;  int k;  printf ("v_version:      |%s|\n", sdp_message_v_version_get (sdp));  printf ("o_originator:   |%s|", sdp_message_o_username_get (sdp));  printf (" |%s|", sdp_message_o_sess_id_get (sdp));  printf (" |%s|", sdp_message_o_sess_version_get (sdp));  printf (" |%s|", sdp_message_o_nettype_get (sdp));  printf (" |%s|", sdp_message_o_addrtype_get (sdp));  printf (" |%s|\n", sdp_message_o_addr_get (sdp));  if (sdp_message_s_name_get (sdp))    printf ("s_name:         |%s|\n", sdp_message_s_name_get (sdp));  if (sdp_message_i_info_get (sdp, -1))    printf ("i_info:         |%s|\n", sdp_message_i_info_get (sdp, -1));  if (sdp_message_u_uri_get (sdp))    printf ("u_uri:          |%s|\n", sdp_message_u_uri_get (sdp));  i = 0;  do    {      tmp = sdp_e_email_get (sdp, i);      if (tmp != NULL)	printf ("e_email:        |%s|\n", tmp);      i++;    }  while (tmp != NULL);  i = 0;  do    {      tmp = sdp_message_p_phone_get (sdp, i);      if (tmp != NULL)	printf ("p_phone:        |%s|\n", tmp);      i++;    }  while (tmp != NULL);  k = 0;  tmp = sdp_message_c_nettype_get (sdp, -1, k);  tmp2 = sdp_message_c_addrtype_get (sdp, -1, k);  tmp3 = sdp_message_c_addr_get (sdp, -1, k);  tmp4 = sdp_message_c_addr_multicast_ttl_get (sdp, -1, k);  tmp5 = sdp_message_c_addr_multicast_int_get (sdp, -1, k);  if (tmp != NULL)    printf ("c_connection:   |%s| |%s| |%s| |%s| |%s|\n",	    tmp, tmp2, tmp3, tmp4, tmp5);  k = 0;  do    {      tmp = sdp_message_b_bwtype_get (sdp, -1, k);      tmp2 = sdp_message_b_bandwidth_get (sdp, -1, k);      if (tmp != NULL)	printf ("b_bandwidth:    |%s|:|%s|\n", tmp, tmp2);      k++;    }  while (tmp != NULL);  k = 0;  do    {      tmp = sdp_message_t_start_time_get (sdp, k);      tmp2 = sdp_message_t_stop_time_get (sdp, k);      if (tmp != NULL)	printf ("t_descr_time:   |%s| |%s|\n", tmp, tmp2);      i = 0;      do	{	  tmp2 = sdp_message_r_repeat_get (sdp, k, i);	  i++;	  if (tmp2 != NULL)	    printf ("r_repeat:    |%s|\n", tmp2);	}      while (tmp2 != NULL);      k++;    }  while (tmp != NULL);  /* TODO r */  if (sdp_message_z_adjustments_get (sdp) != NULL)    printf ("z_adjustments:  |%s|\n", sdp_message_z_adjustments_get (sdp));  tmp = sdp_message_k_keytype_get (sdp, -1);  tmp2 = sdp_message_k_keydata_get (sdp, -1);  if (tmp != NULL)    printf ("k_key:          |%s|:|%s|\n", tmp, tmp2);  k = 0;  do    {      tmp = sdp_message_a_att_field_get (sdp, -1, k);      tmp2 = sdp_message_a_att_value_get (sdp, -1, k);      if (tmp != NULL)	printf ("a_attribute:    |%s|:|%s|\n", tmp, tmp2);      k++;    }  while (tmp != NULL);  i = 0;  while (!sdp_message_endof_media (sdp, i))    {      tmp = sdp_message_m_media_get (sdp, i);      tmp2 = sdp_message_m_port_get (sdp, i);      tmp3 = sdp_message_m_number_of_port_get (sdp, i);      tmp4 = sdp_message_m_proto_get (sdp, i);      if (tmp != NULL)	printf ("m_media:        |%s| |%s| |%s| |%s|", tmp, tmp2, tmp3, tmp4);      k = 0;      do	{	  tmp = sdp_message_m_payload_get (sdp, i, k);	  if (tmp != NULL)	    printf (" |%s|", tmp);	  k++;	}      while (tmp != NULL);      printf ("\n");      k = 0;      do	{	  tmp = sdp_message_c_nettype_get (sdp, i, k);	  tmp2 = sdp_message_c_addrtype_get (sdp, i, k);	  tmp3 = sdp_message_c_addr_get (sdp, i, k);	  tmp4 = sdp_message_c_addr_multicast_ttl_get (sdp, i, k);	  tmp5 = sdp_message_c_addr_multicast_int_get (sdp, i, k);	  if (tmp != NULL)	    printf ("c_connection:   |%s| |%s| |%s| |%s| |%s|\n",		    tmp, tmp2, tmp3, tmp4, tmp5);	  k++;	}      while (tmp != NULL);      k = 0;      do	{	  tmp = sdp_message_b_bwtype_get (sdp, i, k);	  tmp2 = sdp_message_b_bandwidth_get (sdp, i, k);	  if (tmp != NULL)	    printf ("b_bandwidth:    |%s|:|%s|\n", tmp, tmp2);	  k++;	}      while (tmp != NULL);      tmp = sdp_message_k_keytype_get (sdp, i);      tmp2 = sdp_message_k_keydata_get (sdp, i);      if (tmp != NULL)	printf ("k_key:          |%s|:|%s|\n", tmp, tmp2);      k = 0;      do	{	  tmp = sdp_message_a_att_field_get (sdp, i, k);	  tmp2 = sdp_message_a_att_value_get (sdp, i, k);	  if (tmp != NULL)	    printf ("a_attribute:    |%s|:|%s|\n", tmp, tmp2);	  k++;	}      while (tmp != NULL);      i++;    }  return 0;}/*intua_sdp_set_info(osip_negotiation_ctx_t *context, sdp_message_t *dest) {  return 0;}intua_sdp_set_uri(osip_negotiation_ctx_t *context, sdp_message_t *dest) {  return 0;}intua_sdp_add_email(osip_negotiation_ctx_t *context, sdp_message_t *dest) {  return 0;}intua_sdp_add_phone(osip_negotiation_ctx_t *context, sdp_message_t *dest) {  return 0;}intua_sdp_add_attributes(osip_negotiation_ctx_t *context, sdp_message_t *dest, int pos_media) {  return 0;}*/

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -