boolean callhangCall(void* user_data)
{
  VMINT ret;
  VMINT* result = (VMINT*)user_data;
  vm_gsm_tel_single_call_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;
  
  if(IDLE_CALL == g_call_status)return true;
  
  req.action_id.sim   = g_uid_info.sim;
  req.action_id.call_id = g_uid_info.call_id;
  req.action_id.group_id = g_uid_info.group_id;
  
  data.action = VM_GSM_TEL_CALL_ACTION_END_SINGLE;
  data.data_action = (void*)&req;
  //data.user_data = result;
  data.user_data = NULL;
  data.callback = call_hangCall_callback;
  
  ret = vm_gsm_tel_call_actions(&data);
  
  if(ret < 0)
  {
  	return false;
  }
  else
  {
  	*result = 1;
  	return true;
  }
}
boolean callvoiceCall(void* user_data)
{
  VMINT ret;
  call_info_struct* callInfo_p = (call_info_struct*)user_data;
  vm_gsm_tel_dial_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;
  
  req.sim = VM_GSM_TEL_CALL_SIM_1;
  req.is_ip_dial = 0;
  req.module_id = 0;
  vm_chset_ascii_to_ucs2((VMWSTR)req.num_uri, VM_GSM_TEL_MAX_NUMBER_LENGTH, (VMSTR)callInfo_p->num);

  req.phonebook_data = NULL;

  data.action = VM_GSM_TEL_CALL_ACTION_DIAL;
  data.data_action = (void*)&req;
  //data.user_data = (void*)&callInfo_p->result;
  data.user_data = NULL;
  data.callback = _call_voiceCall_callback;  
  
  ret = vm_gsm_tel_call_actions(&data);
  
  vm_gsm_tel_set_output_device(VM_GSM_TEL_DEVICE_LOUDSPK);
  vm_gsm_tel_set_volume(VM_AUDIO_VOLUME_6);
  
  if(ret < 0)
  {
  	return false;
  }
  else
  {
  	callInfo_p->result = 1;
  	return true;
  }
}
boolean callanswerCall(void* user_data)
{
  VMINT ret;
  //VMINT* result = (VMINT*)user_data;
  vm_gsm_tel_single_call_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;
  
  req.action_id.sim   = g_uid_info.sim;
  req.action_id.call_id = g_uid_info.call_id;
  req.action_id.group_id = g_uid_info.group_id;

  data.action = VM_GSM_TEL_CALL_ACTION_ACCEPT;
  data.data_action = (void*)&req;
  //data.user_data = result;
  data.user_data = NULL;
  data.callback = _call_voiceCall_callback;
  
  ret = vm_gsm_tel_call_actions(&data);
  
  vm_gsm_tel_set_output_device(VM_GSM_TEL_DEVICE_LOUDSPK);
  vm_gsm_tel_set_volume(VM_AUDIO_VOLUME_6);
  
  if(ret < 0)
  {
  	//*result = 0;
  	return false;
  }
  else
  {
  	//*result = 1;
  	return true;
  }
}
Example #4
0
int gsm_hang(lua_State *L) {
  int result = 0;
  vm_gsm_tel_single_call_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;

  // vm_log_info("callhangCall");

  if (IDLE_CALL != g_call_status) {
    req.action_id.sim = g_uid_info.sim;
    req.action_id.call_id = g_uid_info.call_id;
    req.action_id.group_id = g_uid_info.group_id;
    // req.action_id.sim = 1;
    // req.action_id.call_id = 1;
    // req.action_id.group_id = 1;

    data.action = VM_GSM_TEL_CALL_ACTION_END_SINGLE;
    data.data_action = (void *)&req;
    data.user_data = NULL;
    data.callback = call_voiceCall_callback;

    result = vm_gsm_tel_call_actions(&data);
  }

  lua_pushnumber(L, result);

  return 1;
}
Example #5
0
int _gsm_call(const char *phone_number) {
  vm_gsm_tel_dial_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;

  vm_chset_ascii_to_ucs2((VMWSTR)req.num_uri, VM_GSM_TEL_MAX_NUMBER_LENGTH,
                         (VMSTR)phone_number);
  req.sim = VM_GSM_TEL_CALL_SIM_1;
  req.is_ip_dial = 0;
  req.module_id = 0;
  req.phonebook_data = NULL;

  data.action = VM_GSM_TEL_CALL_ACTION_DIAL;
  data.data_action = (void *)&req;
  data.user_data = NULL;
  data.callback = call_voiceCall_callback;

  return vm_gsm_tel_call_actions(&data);
}
Example #6
0
static v7_val_t gsm_answer(struct v7* v7)
{
    int result;
    vm_gsm_tel_single_call_action_request_t req;
    vm_gsm_tel_call_actions_data_t data;

    req.action_id.sim = g_uid_info.sim;
    req.action_id.call_id = g_uid_info.call_id;
    req.action_id.group_id = g_uid_info.group_id;

    data.action = VM_GSM_TEL_CALL_ACTION_ACCEPT;
    data.data_action = (void*)&req;
    data.user_data = NULL;
    data.callback = call_voiceCall_callback;

    result = vm_gsm_tel_call_actions(&data);

    return v7_create_number(result);
}
Example #7
0
int gsm_anwser(lua_State *L) {
  int result;
  vm_gsm_tel_single_call_action_request_t req;
  vm_gsm_tel_call_actions_data_t data;

  req.action_id.sim = g_uid_info.sim;
  req.action_id.call_id = g_uid_info.call_id;
  req.action_id.group_id = g_uid_info.group_id;

  data.action = VM_GSM_TEL_CALL_ACTION_ACCEPT;
  data.data_action = (void *)&req;
  data.user_data = NULL;
  data.callback = call_voiceCall_callback;

  result = vm_gsm_tel_call_actions(&data);

  lua_pushnumber(L, result);

  return 1;
}
Example #8
0
static v7_val_t gsm_hang(struct v7* v7)
{
    int result = 0;
    vm_gsm_tel_single_call_action_request_t req;
    vm_gsm_tel_call_actions_data_t data;

    if(IDLE_CALL != g_call_status) {
        req.action_id.sim = g_uid_info.sim;
        req.action_id.call_id = g_uid_info.call_id;
        req.action_id.group_id = g_uid_info.group_id;
        // req.action_id.sim = 1;
        // req.action_id.call_id = 1;
        // req.action_id.group_id = 1;

        data.action = VM_GSM_TEL_CALL_ACTION_END_SINGLE;
        data.data_action = (void*)&req;
        data.user_data = NULL;
        data.callback = call_voiceCall_callback;

        result = vm_gsm_tel_call_actions(&data);
    }

    return v7_create_number(result);
}