C++ SIP Stack  0.31
Public 멤버 함수 | Public 속성 | 모든 멤버 목록
CSipMessage 클래스 참조

SIP 메시지 정보를 저장하는 클래스 더 자세히 ...

Public 멤버 함수

 CSipMessage ()
 ~CSipMessage ()
int Parse (const char *pszText, int iTextLen)
 SIP 헤더 문자열을 파싱하여 CSipMessage 클래스의 멤버 변수에 저장한다.
int ToString (char *pszText, int iTextSize)
 SIP 메시지 문자열을 작성한다.
bool MakePacket ()
 네트워크로 전송할 수 있는 SIP 메시지 문자열을 작성한다.
void Clear ()
 멤버 변수를 초기화시킨다.
bool IsRequest ()
 SIP 요청 메시지인지 검사한다.
bool IsMethod (const char *pszMethod)
 SIP 메소드가 입력한 메소드와 같은지 검사한다.
bool IsEqualCallId (CSipMessage *pclsMessage)
 Call-ID 가 동일한지 검사한다.
bool IsEqualCallIdSeq (CSipMessage *pclsMessage)
 Call-ID 와 CSeq 의 번호가 동일한지 검사한다.
bool Is100rel ()
 SIP 메시지에 100rel 헤더를 포함하고 있는가?
bool GetCallId (std::string &strCallId)
 Call-ID 문자열을 가져온다.
bool AddIpPortToTopVia (const char *pszIp, int iPort, ESipTransport eTransport=E_SIP_UDP)
 Top Via 헤더에 발신 IP 주소와 포트 번호를 추가한다.
bool AddVia (const char *pszIp, int iPort, const char *pszBranch=NULL, ESipTransport eTransport=E_SIP_UDP)
 Via 헤더를 추가한다.
bool AddRoute (const char *pszIp, int iPort, ESipTransport eTransport=E_SIP_UDP)
 Route 헤더를 추가한다.
bool AddRecordRoute (const char *pszIp, int iPort, ESipTransport eTransport=E_SIP_UDP)
 RecordRoute 헤더를 추가한다.
bool AddHeader (const char *pszName, const char *pszValue)
 SIP 헤더 자료구조에 이름과 값을 추가한다.
bool AddHeader (const char *pszName, int iValue)
 SIP 헤더 자료구조에 이름과 값을 추가한다.
bool GetTopViaIpPort (std::string &strIp, int &iPort)
 Top Via 헤더의 IP 주소와 포트 번호를 가져온다.
bool SetTopViaIpPort (const char *pszIp, int iPort, ESipTransport eTransport)
 Top Via 헤더의 IP 주소와 포트 번호를 수정한다.
bool SetTopViaTransPort (ESipTransport eTransport, int iPort)
 Top Via 헤더의 transport 문자열을 수정한다.
bool SetTopContactIpPort (const char *pszIp, int iPort, ESipTransport eTransport)
 Top Contact 헤더의 IP 주소와 포트 번호를 수정한다.
int GetExpires ()
 Expires 헤더가 존재하면 Expires 헤더 값을 리턴하고 Contact 헤더에 expires 가 존재하면 Contact 헤더의 expires 를 리턴한다.
CSipHeaderGetHeader (const char *pszName)
 헤더 리스트를 검색하여서 입력된 이름과 일치하는 헤더를 리턴한다.
CSipMessageCreateResponse (int iStatus, const char *pszToTag=NULL)
 SIP 응답 메시지 객체를 생성한다.
CSipMessageCreateResponseWithToTag (int iStatus)
 To 헤더의 tag 가 존재하지 않는 경우 tag 를 생성하여서 저장한 SIP 응답 메시지 객체를 생성한다.

Public 속성

std::string m_strSipMethod
 SIP 메소드 ( INVITE, CANCEL, ACK, BYE, REFER 등 )
CSipUri m_clsReqUri
 SIP request URI.
std::string m_strSipVersion
 SIP version ( SIP/2.0 )
int m_iStatusCode
 SIP 응답 코드.
std::string m_strReasonPhrase
 SIP 응답 메시지
CSipFrom m_clsFrom
 SIP From 헤더
CSipFrom m_clsTo
 SIP To 헤더
SIP_VIA_LIST m_clsViaList
 SIP Via 헤더 리스트
SIP_FROM_LIST m_clsContactList
 SIP Contact 헤더 리스트
SIP_FROM_LIST m_clsRecordRouteList
 SIP Record-Route 헤더 리스트
SIP_FROM_LIST m_clsRouteList
 SIP Route 헤더 리스트
SIP_CREDENTIAL_LIST m_clsAuthorizationList
 SIP Authorization 헤더 리스트
SIP_CHALLENGE_LIST m_clsWwwAuthenticateList
 SIP Www-Authenticate 헤더 리스트
SIP_CREDENTIAL_LIST m_clsProxyAuthorizationList
 SIP Proxy-Authorization 헤더 리스트
SIP_CHALLENGE_LIST m_clsProxyAuthenticateList
 SIP Proxy-Authenticate 헤더 리스트
SIP_HEADER_LIST m_clsHeaderList
 SIP 헤더 리스트.
CSipCSeq m_clsCSeq
 SIP CSeq 헤더
CSipCallId m_clsCallId
 SIP Call-ID 헤더
CSipContentType m_clsContentType
 SIP Content-Type 헤더
int m_iContentLength
 SIP Content-Length 헤더의 값
int m_iExpires
 SIP Expires 헤더의 값
int m_iMaxForwards
 SIP Max-Forwards 헤더의 값
std::string m_strUserAgent
 SIP User-Agent 헤더
std::string m_strBody
 SIP body 메시지
std::string m_strPacket
 네트워크로 전송할 SIP 메시지
ESipTransport m_eTransport
 네트워크로 전송/수신된 SIP 메시지의 transport
std::string m_strClientIp
 SIP 메시지를 전송한 클라이언트의 IP 주소
int m_iClientPort
 SIP 메시지를 전송한 클라이언트의 포트 번호
bool m_bUseCompact
 SIP 메시지를 compact form 으로 생성하는지 설정
int8_t m_iUseCount
 객체 사용 개수

상세한 설명

SIP 메시지 정보를 저장하는 클래스

생성자 & 소멸자 문서화

CSipMessage::CSipMessage ( )
CSipMessage::~CSipMessage ( )

멤버 함수 문서화

int CSipMessage::Parse ( const char *  pszText,
int  iTextLen 
)

SIP 헤더 문자열을 파싱하여 CSipMessage 클래스의 멤버 변수에 저장한다.

매개변수
pszTextSIP 헤더의 값을 저장한 문자열
iTextLenpszText 문자열의 길이
반환값
성공하면 파싱한 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.
int CSipMessage::ToString ( char *  pszText,
int  iTextSize 
)

SIP 메시지 문자열을 작성한다.

매개변수
pszTextSIP 메시지 문자열을 저장할 문자열 변수
iTextSizepszText 변수의 크기
반환값
성공하면 작성한 문자열 길이를 리턴하고 그렇지 않으면 -1 를 리턴한다.

멤버 데이타 문서화

bool CSipMessage::m_bUseCompact

SIP 메시지를 compact form 으로 생성하는지 설정

SIP_CREDENTIAL_LIST CSipMessage::m_clsAuthorizationList

SIP Authorization 헤더 리스트

CSipCallId CSipMessage::m_clsCallId

SIP Call-ID 헤더

SIP_FROM_LIST CSipMessage::m_clsContactList

SIP Contact 헤더 리스트

CSipContentType CSipMessage::m_clsContentType

SIP Content-Type 헤더

CSipCSeq CSipMessage::m_clsCSeq

SIP CSeq 헤더

CSipFrom CSipMessage::m_clsFrom

SIP From 헤더

SIP_HEADER_LIST CSipMessage::m_clsHeaderList

SIP 헤더 리스트.

CSipMessage 에서 구분하여서 정의한 헤더에 저장되지 않는 헤더들을 저장한다.

SIP_CHALLENGE_LIST CSipMessage::m_clsProxyAuthenticateList

SIP Proxy-Authenticate 헤더 리스트

SIP_CREDENTIAL_LIST CSipMessage::m_clsProxyAuthorizationList

SIP Proxy-Authorization 헤더 리스트

SIP_FROM_LIST CSipMessage::m_clsRecordRouteList

SIP Record-Route 헤더 리스트

CSipUri CSipMessage::m_clsReqUri

SIP request URI.

SIP_FROM_LIST CSipMessage::m_clsRouteList

SIP Route 헤더 리스트

CSipFrom CSipMessage::m_clsTo

SIP To 헤더

SIP_VIA_LIST CSipMessage::m_clsViaList

SIP Via 헤더 리스트

SIP_CHALLENGE_LIST CSipMessage::m_clsWwwAuthenticateList

SIP Www-Authenticate 헤더 리스트

ESipTransport CSipMessage::m_eTransport

네트워크로 전송/수신된 SIP 메시지의 transport

int CSipMessage::m_iClientPort

SIP 메시지를 전송한 클라이언트의 포트 번호

int CSipMessage::m_iContentLength

SIP Content-Length 헤더의 값

int CSipMessage::m_iExpires

SIP Expires 헤더의 값

int CSipMessage::m_iMaxForwards

SIP Max-Forwards 헤더의 값

int CSipMessage::m_iStatusCode

SIP 응답 코드.

SIP 응답 메시지인 경우에만 0 보다 큰 값을 가지고 있다.

int8_t CSipMessage::m_iUseCount

객체 사용 개수

std::string CSipMessage::m_strBody

SIP body 메시지

std::string CSipMessage::m_strClientIp

SIP 메시지를 전송한 클라이언트의 IP 주소

std::string CSipMessage::m_strPacket

네트워크로 전송할 SIP 메시지

std::string CSipMessage::m_strReasonPhrase

SIP 응답 메시지

std::string CSipMessage::m_strSipMethod

SIP 메소드 ( INVITE, CANCEL, ACK, BYE, REFER 등 )

std::string CSipMessage::m_strSipVersion

SIP version ( SIP/2.0 )

std::string CSipMessage::m_strUserAgent

SIP User-Agent 헤더