コード例 #1
0
ファイル: global.cpp プロジェクト: iostrovs/microsip-modified
CString FormatNumber(CString number) {
	CString numberFormated = number;
	pjsua_acc_id acc_id;
	pj_str_t pj_uri;
	bool isLocal = SelectSIPAccount(number,acc_id,pj_uri) && acc_id == account_local;
	if (!isLocal) {
		BOOL isDigits = TRUE;
		for (int i=0;i<number.GetLength();i++)
		{
			if ( (number[i]>'9' || number[i]<'0') && number[i]!='*' && number[i]!='#' && number[i]!='.' && number[i]!='-' && number[i]!='(' && number[i]!=')' && number[i]!=' ' && number[0]!='+')
			{
				isDigits = FALSE;
				break;
			}
		}
		if (isDigits) {
			numberFormated.Remove('.');
			numberFormated.Remove('-');
			numberFormated.Remove('(');
			numberFormated.Remove(')');
			numberFormated.Remove(' ');
		}
	}
	return GetSIPURI(numberFormated,true,isLocal);
}
コード例 #2
0
BOOL MessagesDlg::SendMessage(MessagesContact* messagesContact, CString message, CString number)
{
	message.Trim();
	if (message.GetLength())
	{
		pjsua_acc_id acc_id;
		pj_str_t pj_uri;
		SelectSIPAccount(messagesContact?messagesContact->number:number,acc_id,pj_uri);
		pj_str_t pj_message = StrToPjStr ( message );
		pj_status_t status = pjsua_im_send( acc_id, &pj_uri, NULL, &pj_message, NULL, NULL );
		if ( status != PJ_SUCCESS ) {
			if (messagesContact) {
				CString message = GetErrorMessage(status);
				AddMessage(messagesContact,message);
			}
		} else {
			return TRUE;
		}
	}
	return FALSE;
}
コード例 #3
0
pjsua_call_id MessagesDlg::CallMake(CString number, bool hasVideo, pj_status_t *pStatus)
{
	if (accountSettings.singleMode) {
		call_hangup_all_noincoming();
	}
#ifdef _GLOBAL_VIDEO
	if (hasVideo) {
		microsipDlg->createPreviewWin();
	}
#endif

	microsipDlg->SetSoundDevice(microsipDlg->audio_output);

	pjsua_acc_id acc_id;
	pj_str_t pj_uri;
	SelectSIPAccount(number,acc_id,pj_uri);

	pjsua_call_id call_id;
	
	pjsua_call_setting call_setting;
	pjsua_call_setting_default(&call_setting);
	call_setting.flag = 0;
	call_setting.vid_cnt=hasVideo ? 1 : 0;

	pj_status_t status = pjsua_call_make_call(
		acc_id,
		&pj_uri,
		&call_setting,
		NULL,
		NULL,
		&call_id);
	if (pStatus) {
		*pStatus = status;
	}
	return status == PJ_SUCCESS ? call_id : PJSUA_INVALID_ID;
}