pub struct CallInfo {Show 14 fields
pub call_id: CallId,
pub state: CallState,
pub direction: CallDirection,
pub local_uri: String,
pub remote_uri: String,
pub remote_display_name: Option<String>,
pub subject: Option<String>,
pub created_at: DateTime<Utc>,
pub connected_at: Option<DateTime<Utc>>,
pub ended_at: Option<DateTime<Utc>>,
pub remote_addr: Option<SocketAddr>,
pub media_session_id: Option<String>,
pub sip_call_id: String,
pub metadata: HashMap<String, String>,
}Expand description
Comprehensive information about a SIP call
Contains all metadata and status information for a call, including parties involved, timing, state, and technical details.
§Examples
use rvoip_client_core::call::{CallInfo, CallState, CallDirection, CallId};
use chrono::Utc;
use std::collections::HashMap;
let call_info = CallInfo {
call_id: CallId::new_v4(),
state: CallState::Connected,
direction: CallDirection::Outgoing,
local_uri: "sip:alice@example.com".to_string(),
remote_uri: "sip:bob@example.com".to_string(),
remote_display_name: Some("Bob Smith".to_string()),
subject: Some("Business call".to_string()),
created_at: Utc::now(),
connected_at: Some(Utc::now()),
ended_at: None,
remote_addr: None,
media_session_id: Some("media123".to_string()),
sip_call_id: "abc123@example.com".to_string(),
metadata: HashMap::new(),
};
assert_eq!(call_info.state, CallState::Connected);
assert!(call_info.state.is_active());Fields§
§call_id: CallIdUnique call identifier assigned by the client
state: CallStateCurrent state of the call in its lifecycle
direction: CallDirectionDirection of the call (incoming or outgoing)
local_uri: StringLocal party URI (our user’s SIP address)
remote_uri: StringRemote party URI (who we’re calling or who called us)
remote_display_name: Option<String>Display name of remote party, if provided in SIP headers
subject: Option<String>Call subject or reason, if provided in SIP headers
created_at: DateTime<Utc>When the call was created/initiated
connected_at: Option<DateTime<Utc>>When the call was answered and connected (if applicable)
ended_at: Option<DateTime<Utc>>When the call ended (if applicable)
remote_addr: Option<SocketAddr>Remote network address (IP and port)
media_session_id: Option<String>Associated media session ID for audio/video (if any)
sip_call_id: StringSIP Call-ID header value for protocol correlation
metadata: HashMap<String, String>Additional call metadata and custom properties