16 #ifndef _SipMessage_h_ 17 #define _SipMessage_h_ 23 #include <utl/UtlHashBag.h> 24 #include <os/OsSocket.h> 27 #include <sdp/SdpCodec.h> 42 #define SIP_CALL_CONTROL_EXTENSION "sip-cc" 43 #define SIP_SESSION_TIMER_EXTENSION "timer" 44 #define SIP_REPLACES_EXTENSION "replaces" 45 #define SIP_JOIN_EXTENSION "join" 48 #define SIP_INVITE_METHOD "INVITE" 49 #define SIP_ACK_METHOD "ACK" 50 #define SIP_BYE_METHOD "BYE" 51 #define SIP_CANCEL_METHOD "CANCEL" 52 #define SIP_INFO_METHOD "INFO" 53 #define SIP_NOTIFY_METHOD "NOTIFY" 54 #define SIP_OPTIONS_METHOD "OPTIONS" 55 #define SIP_REFER_METHOD "REFER" 56 #define SIP_REGISTER_METHOD "REGISTER" 57 #define SIP_SUBSCRIBE_METHOD "SUBSCRIBE" 58 #define SIP_PING_METHOD "PING" 62 #define SIP_MESSAGE_METHOD "MESSAGE" 63 #define SIP_DO_METHOD "DO" 64 #define SIP_PUBLISH_METHOD "PUBLISH" 67 #define SIP_ACCEPT_FIELD "ACCEPT" 68 #define SIP_ACCEPT_ENCODING_FIELD HTTP_ACCEPT_ENCODING_FIELD 69 #define SIP_ACCEPT_LANGUAGE_FIELD HTTP_ACCEPT_LANGUAGE_FIELD 70 #define SIP_ALLOW_FIELD "ALLOW" 71 #define SIP_ALSO_FIELD "ALSO" 72 #define SIP_CALLID_FIELD "CALL-ID" 73 #define SIP_CONFIG_ALLOW_FIELD "CONFIG_ALLOW" 74 #define SIP_CONFIG_REQUIRE_FIELD "CONFIG_REQUIRE" 75 #define SIP_SHORT_CALLID_FIELD "i" 76 #define SIP_CONTACT_FIELD "CONTACT" 77 #define SIP_SHORT_CONTACT_FIELD "m" 78 #define SIP_CONTENT_LENGTH_FIELD HTTP_CONTENT_LENGTH_FIELD 79 #define SIP_SHORT_CONTENT_LENGTH_FIELD "l" 80 #define SIP_CONTENT_TYPE_FIELD HTTP_CONTENT_TYPE_FIELD 81 #define SIP_SHORT_CONTENT_TYPE_FIELD "c" 82 #define SIP_CONTENT_ENCODING_FIELD "CONTENT-ENCODING" 83 #define SIP_SHORT_CONTENT_ENCODING_FIELD "e" 84 #define SIP_CSEQ_FIELD "CSEQ" 85 #define SIP_DIVERSION_FIELD "DIVERSION" // draft-levy-sip-diversion-08 Diversion header 86 #define SIP_EVENT_FIELD "EVENT" 87 #define SIP_SHORT_EVENT_FIELD "o" 88 #define SIP_EXPIRES_FIELD "EXPIRES" 89 #define SIP_FROM_FIELD "FROM" 90 #define SIP_IF_MATCH_FIELD "SIP-IF-MATCH" 91 #define SIP_SHORT_FROM_FIELD "f" 92 #define SIP_MAX_FORWARDS_FIELD "MAX-FORWARDS" 93 #define SIP_P_ASSERTED_IDENTITY_FIELD "P-ASSERTED-IDENTITY" 94 #define SIP_Q_FIELD "Q" 95 #define SIP_REASON_FIELD "REASON" // RFC 3326 Reason header 96 #define SIP_RECORD_ROUTE_FIELD "RECORD-ROUTE" 97 #define SIP_REFER_TO_FIELD "REFER-TO" 98 #define SIP_SHORT_REFER_TO_FIELD "r" 99 #define SIP_REFERRED_BY_FIELD "REFERRED-BY" 100 #define SIP_SHORT_REFERRED_BY_FIELD "b" 101 #define SIP_REPLACES_FIELD "REPLACES" 102 #define SIP_REQUEST_DISPOSITION_FIELD "REQUEST-DISPOSITION" 103 #define SIP_REQUESTED_BY_FIELD "REQUESTED-BY" 104 #define SIP_REQUIRE_FIELD "REQUIRE" 105 #define SIP_PROXY_REQUIRE_FIELD "PROXY-REQUIRE" 106 #define SIP_ROUTE_FIELD "ROUTE" 107 #define SIP_SERVER_FIELD "SERVER" 108 #define SIP_SESSION_EXPIRES_FIELD "SESSION-EXPIRES" 109 #define SIP_IF_MATCH_FIELD "SIP-IF-MATCH" 110 #define SIP_ETAG_FIELD "SIP-ETAG" 111 #define SIP_SUBJECT_FIELD "SUBJECT" 112 #define SIP_SHORT_SUBJECT_FIELD "s" 113 #define SIP_SUBSCRIPTION_STATE_FIELD "SUBSCRIPTION-STATE" 114 #define SIP_SUPPORTED_FIELD "SUPPORTED" 115 #define SIP_SHORT_SUPPORTED_FIELD "k" 116 #define SIP_TO_FIELD "TO" 117 #define SIP_SHORT_TO_FIELD "t" 118 #define SIP_UNSUPPORTED_FIELD "UNSUPPORTED" 119 #define SIP_USER_AGENT_FIELD HTTP_USER_AGENT_FIELD 120 #define SIP_VIA_FIELD "VIA" 121 #define SIP_SHORT_VIA_FIELD "v" 122 #define SIP_WARNING_FIELD "WARNING" 123 #define SIP_MIN_EXPIRES_FIELD "MIN-EXPIRES" 126 #define SIP_LINE_IDENTIFIER "LINEID" 127 #define SIPX_IMPLIED_SUB "sipx-implied" 128 // Response codes and text 129 #define SIP_TRYING_CODE 100 130 #define SIP_TRYING_TEXT "Trying" 132 #define SIP_RINGING_CODE 180 133 #define SIP_RINGING_TEXT "Ringing" 135 #define SIP_QUEUED_CODE 182 136 #define SIP_QUEUED_TEXT "Queued" 138 #define SIP_EARLY_MEDIA_CODE 183 139 #define SIP_EARLY_MEDIA_TEXT "Session Progress" 141 #define SIP_2XX_CLASS_CODE 200 143 #define SIP_OK_CODE 200 144 #define SIP_OK_TEXT "OK" 146 #define SIP_ACCEPTED_CODE 202 147 #define SIP_ACCEPTED_TEXT "Accepted" 149 #define SIP_3XX_CLASS_CODE 300 151 #define SIP_MULTI_CHOICE_CODE 300 152 #define SIP_MULTI_CHOICE_TEXT "Multiple Choices" 154 #define SIP_PERMANENT_MOVE_CODE 301 155 #define SIP_PERMANENT_MOVE_TEXT "Moved Permanently" 157 #define SIP_TEMPORARY_MOVE_CODE 302 158 #define SIP_TEMPORARY_MOVE_TEXT "Moved Temporarily" 160 #define SIP_USE_PROXY_CODE 305 161 #define SIP_USE_PROXY_TXT "Use Proxy" 163 #define SIP_4XX_CLASS_CODE 400 165 #define SIP_BAD_REQUEST_CODE 400 166 #define SIP_BAD_REQUEST_TEXT "Bad Request" 168 #define SIP_FORBIDDEN_CODE 403 169 #define SIP_FORBIDDEN_TEXT "Forbidden" 171 #define SIP_NOT_FOUND_CODE 404 172 #define SIP_NOT_FOUND_TEXT "Not Found" 174 #define SIP_BAD_METHOD_CODE 405 175 #define SIP_BAD_METHOD_TEXT "Method Not Allowed" 177 #define SIP_REQUEST_TIMEOUT_CODE 408 178 #define SIP_REQUEST_TIMEOUT_TEXT "Request timeout" 180 #define SIP_CONDITIONAL_REQUEST_FAILED_CODE 412 181 #define SIP_CONDITIONAL_REQUEST_FAILED_TEXT "Conditional Request Failed" 183 #define SIP_BAD_MEDIA_CODE 415 184 #define SIP_BAD_MEDIA_TEXT "Unsupported Media Type or Content Encoding" 186 #define SIP_UNSUPPORTED_URI_SCHEME_CODE 416 187 #define SIP_UNSUPPORTED_URI_SCHEME_TEXT "Unsupported URI Scheme" 189 #define SIP_BAD_EXTENSION_CODE 420 190 #define SIP_BAD_EXTENSION_TEXT "Extension Not Supported" 192 #define SIP_TOO_BRIEF_CODE 423 193 #define SIP_TOO_BRIEF_TEXT "Registration Too Brief" 194 #define SIP_SUB_TOO_BRIEF_TEXT "Subscription Too Brief" 196 #define SIP_BAD_TRANSACTION_CODE 481 197 #define SIP_BAD_TRANSACTION_TEXT "Transaction Does Not Exist" 199 #define SIP_LOOP_DETECTED_CODE 482 200 #define SIP_LOOP_DETECTED_TEXT "Loop Detected" 202 #define SIP_TOO_MANY_HOPS_CODE 483 203 #define SIP_TOO_MANY_HOPS_TEXT "Too many hops" 205 #define SIP_BAD_ADDRESS_CODE 484 206 #define SIP_BAD_ADDRESS_TEXT "Address Incomplete" 208 #define SIP_BUSY_CODE 486 209 #define SIP_BUSY_TEXT "Busy Here" 211 #define SIP_REQUEST_TERMINATED_CODE 487 212 #define SIP_REQUEST_TERMINATED_TEXT "Request Terminated" 214 #define SIP_REQUEST_NOT_ACCEPTABLE_HERE_CODE 488 215 #define SIP_REQUEST_NOT_ACCEPTABLE_HERE_TEXT "Not Acceptable Here" 217 #define SIP_BAD_EVENT_CODE 489 218 #define SIP_BAD_EVENT_TEXT "Requested Event Type Is Not Supported" 220 #define SIP_REQUEST_PENDING_CODE 491 221 #define SIP_REQUEST_PENDING_TEXT "Request Pending" 223 #define SIP_REQUEST_UNDECIPHERABLE_CODE 493 224 #define SIP_REQUEST_UNDECIPHERABLE_TEXT "Request Contained an Undecipherable S/MIME body" 226 #define SIP_5XX_CLASS_CODE 500 228 #define SIP_SERVER_INTERNAL_ERROR_CODE 500 229 #define SIP_SERVER_INTERNAL_ERROR_TEXT "Internal Server Error" 231 #define SIP_UNIMPLEMENTED_METHOD_CODE 501 232 #define SIP_UNIMPLEMENTED_METHOD_TEXT "Not Implemented" 234 #define SIP_SERVICE_UNAVAILABLE_CODE 503 235 #define SIP_SERVICE_UNAVAILABLE_TEXT "Service Unavailable" 237 #define SIP_BAD_VERSION_CODE 505 238 #define SIP_BAD_VERSION_TEXT "Version Not Supported" 240 #define SIP_6XX_CLASS_CODE 600 242 #define SIP_GLOBAL_BUSY_CODE 600 243 #define SIP_GLOBAL_BUSY_TEXT "Busy Everywhere" 245 #define SIP_DECLINE_CODE 603 246 #define SIP_DECLINE_TEXT "Declined" 249 #define SIP_WARN_MEDIA_NAVAIL_CODE 304 250 #define SIP_WARN_MEDIA_NAVAIL_TEXT "Media type not available" 251 #define SIP_WARN_MEDIA_INCOMPAT_CODE 305 252 #define SIP_WARN_MEDIA_INCOMPAT_TEXT "Insufficient compatible media types" 253 #define SIP_WARN_MISC_CODE 399 256 #define SIP_PORT 5060 257 #define SIP_TLS_PORT 5061 258 #define SIP_PROTOCOL_VERSION "SIP/2.0" 259 #define SIP_SUBFIELD_SEPARATOR " " 260 #define SIP_SUBFIELD_SEPARATORS "\t " 261 #define SIP_MULTIFIELD_SEPARATOR "," 262 #define SIP_SINGLE_SPACE " " 263 #define SIP_MULTIFIELD_SEPARATORS "\t ," 264 #define SIP_TRANSPORT_UDP "UDP" 265 #define SIP_TRANSPORT_TCP "TCP" 266 #define SIP_TRANSPORT_TLS "TLS" 267 #define SIP_URL_TYPE "SIP:" 268 #define SIPS_URL_TYPE "SIPS:" 269 #define SIP_DEFAULT_MAX_FORWARDS 70 272 #define SIP_DISPOSITION_QUEUE "QUEUE" 275 #define SIP_EVENT_MESSAGE_SUMMARY "message-summary" 276 #define SIP_EVENT_SIMPLE_MESSAGE_SUMMARY "simple-message-summary" 277 #define SIP_EVENT_CHECK_SYNC "check-sync" 278 #define SIP_EVENT_REFER "refer" 279 #define SIP_EVENT_CONFIG "sip-config" 280 #define SIP_EVENT_UA_PROFILE "ua-profile" 281 #define SIP_EVENT_REGISTER "reg" // RFC 3680 282 #define SIP_EVENT_PRESENCE "presence" 285 #define SIP_EVENT_PARAMETER_PROFILE_TYPE "profile-type" 286 #define SIP_EVENT_PARAMETER_VENDOR "vendor" 287 #define SIP_EVENT_PARAMETER_MODEL "model" 288 #define SIP_EVENT_PARAMETER_VERSION "version" 291 #define SIP_SUBSCRIPTION_ACTIVE "active" 292 #define SIP_SUBSCRIPTION_PENDING "pending" 293 #define SIP_SUBSCRIPTION_TERMINATED "terminated" 296 #define CONTENT_TYPE_SIP_APPLICATION "application/sip" 297 #define CONTENT_TYPE_MESSAGE_SIPFRAG "message/sipfrag" 298 #define CONTENT_TYPE_SIMPLE_MESSAGE_SUMMARY "application/simple-message-summary" 299 #define CONTENT_TYPE_XPRESSA_SCRIPT "text/xpressa-script" 300 #define CONTENT_TYPE_VQ_RTCP_XR "application/vq-rtcpxr" 303 #define CONTENT_TYPE_REG_INFO "application/reg-info+xml" 305 #define SIP_REFER_SUCCESS_STATUS "SIP/2.0 200 OK\r\n" 306 #define SIP_REFER_FAILURE_STATUS "SIP/2.0 503 Service Unavailable\r\n" 310 #define SIP_DIVERSION_UNKNOWN "unknown" 311 #define SIP_DIVERSION_BUSY "user-busy" 312 #define SIP_DIVERSION_UNAVAILABLE "unavailable" 313 #define SIP_DIVERSION_UNCONDITIONAL "unconditional" 314 #define SIP_DIVERSION_TIMEOFDAY "time-of-day" 315 #define SIP_DIVERSION_DND "do-not-disturb" 316 #define SIP_DIVERSION_DEFLECTION "deflection" 317 #define SIP_DIVERSION_OTOFSERVICE "out-of-service" 318 #define SIP_DIVERSION_FOLLOWME "follow-me" 319 #define SIP_DIVERSION_AWAY "away" 322 #define SIP_REFRESHER_UAC "uac" 323 #define SIP_REFRESHER_UAS "uas" 377 static UtlBoolean
getShortName(
const char* longFieldName,
378 UtlString* shortFieldName );
380 static UtlBoolean
getLongName(
const char* shortFieldName,
381 UtlString* longFieldName );
391 static void buildSipUrl(UtlString* url,
const char* address,
392 int port = PORT_NONE,
393 const char* protocol = NULL,
394 const char* user = NULL,
395 const char* userLabel = NULL,
396 const char* tag = NULL);
400 const char* fromField,
401 const char* toFIeld);
404 const char* parameterName,
405 UtlString* parameterValue);
408 const char* parameterValue);
411 int* port, UtlString* protocol,
412 UtlString* user = NULL,
413 UtlString* userLabel = NULL,
414 UtlString* tag = NULL);
418 const UtlString& subFieldName,
421 static void setUriTag(UtlString* uri,
const char* tagValue);
423 static UtlBoolean
getViaTag(
const char* viaField,
425 UtlString& tagValue);
436 void getUri(UtlString* address,
int* port,
438 UtlString* user = NULL)
const;
448 const char* fromAddress,
449 const char* toAddress,
451 int sequenceNumber = 1);
455 const char* contactUri = NULL,
456 int sessionExpiresSeconds = 0);
461 const char* fromAddress,
462 const char* toAddress,
464 const char* localContact,
465 int sequenceNumber = 1);
468 const char * lastRespContact,
469 UtlBoolean byeToCallee,
470 int localSequenceNumber,
471 const char* routeField,
472 const char* alsoInviteUri,
473 const char* localContact);
475 void setCancelData(
const char* fromAddress,
const char* toAddress,
477 int sequenceNumber = 1,
478 const char* localContact=NULL);
481 const char* localContact=NULL);
484 const char* toAddress,
485 const char * farEndContact,
486 const char* contactUrl,
488 int sequenceNumber = 1,
489 int sessionReinviteTimer = 0);
495 const char* farEndContact,
496 const char* contactUrl,
497 UtlBoolean inviteFromThisSide,
498 const char* routeField,
500 int sessionReinviteTimer);
503 const char* LastRespContact,
504 UtlBoolean optionsToCallee,
505 int localCSequenceNumber,
506 const char* routeField,
507 const char* localContact);
510 int lastLocalSequenceNumber,
512 const char* stateField = NULL,
513 const char* eventField = NULL,
514 const char*
id = NULL);
517 const char* fromField,
521 const char* eventtype,
525 const char* routeField);
528 const char* fromField,
532 const char* eventField,
533 const char* acceptField,
536 const char* routeField,
537 int expiresInSeconds);
540 const char* fromField,
544 const char* contactUrl,
545 const char* protocolField,
546 const char* profileField,
547 int expiresInSeconds = -1);
551 UtlString& msgSummaryData,
552 const char* msgAccountUri,
553 UtlBoolean bNewMsgs=FALSE,
554 UtlBoolean bVoiceMsgs=FALSE,
555 UtlBoolean bFaxMsgs=FALSE,
556 UtlBoolean bEmailMsgs=FALSE,
559 int numFaxNewMsgs=-1,
560 int numFaxOldMsgs=-1,
561 int numEmailNewMsgs=-1,
562 int numEmailOldMsgs=-1);
566 const char* fromField,
569 const char* contactUrl,
572 UtlString bodyString);
576 const char* fromField,
579 const char* contactUrl,
582 SipRegInfoBody& regInfoBody);
587 const char* contactUrl,
590 int subscribePeriod = -1);
594 UtlBoolean byeToCallee,
595 int localSequenceNumber,
596 const char* routeField,
597 const char* contactUrl,
598 const char* remoteContactUrl,
599 const char* transferTargetAddress,
600 const char* targetCallId);
603 const char* registerAsUri,
604 const char* registrarServerUri,
605 const char* takeCallsAtUri,
608 int expiresInSeconds = -1);
612 const char* fromAddress,
613 const char* toAddress,
615 int sequenceNumber = 1,
616 const char* contactUrl = NULL);
620 const char* fromField,
624 const char* eventField,
626 const char* sipIfMatchField,
627 int expiresInSeconds,
628 const char* contact);
653 UtlString hostAddresses[],
655 int rtcpAudiopPorts[],
657 int rtcpVideoPorts[],
658 RTP_TRANSPORT transportTypes[],
660 SdpCodec* rtpCodecs[],
665 const RTP_TRANSPORT rtpTransportOptions = RTP_TRANSPORT_UDP);
674 char* szSubjectAltName = NULL)
const;
679 const void* pEventData = NULL)
const;
689 const char* responseText,
690 const char* localContact = NULL);
693 const char* fromAddress,
694 const char* toAddress,
697 const char* sequenceMethod,
698 const char* localContact = NULL);
701 const char* localContact = NULL);
706 const char* authenticationScheme,
707 const char* authenticationRealm,
708 const char* authenticationNonce = NULL,
709 const char* authenticationOpaque = NULL,
726 const char* allowedMethods);
731 const char* unsuportedExtensions);
742 const char* allowedEncodings);
746 int sequenceNumber = 1);
755 const char* forwardAddress);
759 int sequenceNumber = 1);
770 int maxSessionExpiresSeconds,
771 const char* localContact = NULL);
791 UtlString* subfieldValue)
const;
793 UtlBoolean
getContactUri(
int addressIndex, UtlString* uri)
const;
796 UtlString& contactField)
const;
799 UtlString* uriAndParameters)
const;
802 UtlString* contactAddress,
805 UtlString* user = NULL,
806 UtlString* userLabel = NULL)
const;
815 void addVia(
const char* domainName,
817 const char* protocol,
818 const char* branchId = NULL,
819 const bool bIncludeRport =
false,
820 const char* customRouteId = NULL) ;
822 void addViaField(
const char* viaField, UtlBoolean afterOtherVias = TRUE);
825 const char* tagName =
"received");
829 void setCSeqField(
int sequenceNumber,
const char* method);
834 void setFromField(
const char* fromAddress,
int fromPort,
835 const char* fromProtocol = NULL,
836 const char* fromUser = NULL,
837 const char* fromLabel = NULL);
843 void setToField(
const char* toAddress,
int toPort,
844 const char* fromProtocol = NULL,
845 const char* toUser = NULL,
846 const char* toLabel = NULL);
864 void setWarningField(
int code,
const char* hostname,
const char* text);
876 void getFromAddress(UtlString* fromAddress,
int* fromPort, UtlString* protocol,
877 UtlString* user = NULL, UtlString* userLabel = NULL,
878 UtlString* tag = NULL)
const;
899 UtlString& protocol)
const;
902 OsSocket::IpProtocolSocketType& protocolEnum);
905 UtlString& protocolString);
912 UtlBoolean
getViaField(UtlString* viaField,
int index)
const;
921 int* recievedPort = NULL,
922 UtlBoolean* receivedSet = NULL,
923 UtlBoolean* maddrSet = NULL,
924 UtlBoolean* receivedPortSet = NULL)
const;
930 void getToUri(UtlString* uri)
const;
937 UtlString* user = NULL,
938 UtlString* userLabel = NULL,
939 UtlString* tag = NULL)
const;
945 UtlBoolean
getCSeqField(
int* sequenceNum, UtlString* sequenceMethod)
const;
957 UtlString* eventId = NULL,
958 UtlHashMap* params = NULL
970 UtlString* dispositionToken)
const;
972 UtlBoolean
getSessionExpires(
int* sessionExpiresSeconds, UtlString* refresher)
const;
1012 UtlString* recordRouteField)
const;
1027 UtlBoolean
getRouteUri(
int index, UtlString* routeUri)
const;
1045 UtlSList* removedRoutes = NULL
1064 UtlBoolean
getAlsoUri(
int index, UtlString* alsoUri)
const;
1086 UtlString* referredToUrl = NULL)
const;
1094 UtlString& fromTag)
const;
1113 UtlBoolean afterOtherDiversions=FALSE);
1115 void addDiversionField(
const char* diversionField, UtlBoolean afterOtherDiversions=FALSE);
1122 UtlBoolean
getDiversionField(
int index, UtlString& addr, UtlString& reasonParam);
1130 const char* password,
1133 const char* uri = NULL,
1142 UtlString * Address,
1143 UtlString * Port)
const;
1145 const char* Address,
1168 { mbUseShortNames = bUseShortNames; } ;
1171 {
return mbUseShortNames; } ;
1182 UtlBoolean responseCodesMustMatch = FALSE)
const;
1212 UtlContainer& viaParameterList
1216 bool OnSignature(
void* pCert,
char* szSubjAltName);
1228 mutable void* mpEventData;
1229 UtlString mCustomRouteId;
1232 bool mbFromThisSide;
1233 UtlBoolean mbUseShortNames;
1236 UtlString m_dnsProtocol ;
1237 UtlString m_dnsAddress ;
1238 UtlString m_dnsPort ;
1241 class SipMessageFieldProps
1245 SipMessageFieldProps();
1246 ~SipMessageFieldProps();
1248 UtlHashBag mShortFieldNames;
1249 UtlHashBag mLongFieldNames;
1251 UtlHashBag mDisallowedUrlHeaders;
1253 UtlHashBag mUniqueUrlHeaders;
1256 void initDisallowedUrlHeaders();
1257 void initUniqueUrlHeaders();
1261 static SipMessageFieldProps sSipMessageFieldProps;
1266 #endif // _SipMessage_h_ static void setUriTag(UtlString *uri, const char *tagValue)
Definition: SipMessage.cpp:2843
void setEventField(const char *eventField)
Definition: SipMessage.cpp:3584
void setUseShortFieldNames(UtlBoolean bUseShortNames)
Definition: SipMessage.h:1167
void setRequestBadExtension(const SipMessage *request, const char *unsuportedExtensions)
Definition: SipMessage.cpp:844
void setReinviteData(SipMessage *invite, const char *farEndContact, const char *contactUrl, UtlBoolean inviteFromThisSide, const char *routeField, int sequenceNumber, int sessionReinviteTimer)
Definition: SipMessage.cpp:277
void getServerField(UtlString *serverFieldValue) const
Definition: SipMessage.cpp:4198
static UtlBoolean getLongName(const char *shortFieldName, UtlString *longFieldName)
Definition: SipMessage.cpp:153
SipMessage & operator=(const SipMessage &rhs)
Assignment operator.
Definition: SipMessage.cpp:116
void setInviteBusyData(const char *fromAddress, const char *toAddress, const char *callId, int sequenceNumber=1)
Definition: SipMessage.cpp:700
Transaction and Transport manager for SIP stack.
Definition: SipUserAgent.h:157
UtlBoolean buildRouteField(UtlString *routeField) const
Definition: SipMessage.cpp:3911
HttpEndpointEnum
Definition: HttpMessage.h:196
#define SIP_PROTOCOL_VERSION
Definition: SipMessage.h:258
void setLoopDetectedData(const SipMessage *inviteRequest)
Definition: SipMessage.cpp:715
bool OnSignature(void *pCert, char *szSubjAltName)
Definition: SipMessage.cpp:5537
void getLastVia(UtlString *viaAddress, int *viaPort, UtlString *protocol, int *recievedPort=NULL, UtlBoolean *receivedSet=NULL, UtlBoolean *maddrSet=NULL, UtlBoolean *receivedPortSet=NULL) const
Definition: SipMessage.cpp:3142
Container class for security attributes.
Definition: SmimeBody.h:87
void setRequestBadUrlType(const SipMessage *request)
Definition: SipMessage.cpp:881
UtlBoolean getContactField(int addressIndex, UtlString &contactField) const
Definition: SipMessage.cpp:3403
void addRequireExtension(const char *extension)
Definition: SipMessage.cpp:3513
SipMessage(const char *messageBytes=NULL, int byteCount=-1)
Construct from a buffer.
Definition: SipMessage.cpp:53
void setReasonField(const char *reasonField)
Definition: SipMessage.cpp:4440
static UtlBoolean parseParameterFromUri(const char *uri, const char *parameterName, UtlString *parameterValue)
Definition: SipMessage.cpp:2690
static void convertProtocolEnumToString(OsSocket::IpProtocolSocketType protocolEnum, UtlString &protocolString)
Definition: SipMessage.cpp:3006
Definition: HttpMessage.h:198
void setTransportInfo(const SipMessage *pMsg)
Definition: SipMessage.cpp:5185
void setCancelData(const char *fromAddress, const char *toAddress, const char *callId, int sequenceNumber=1, const char *localContact=NULL)
Definition: SipMessage.cpp:1873
UtlBoolean getUseShortFieldNames() const
Definition: SipMessage.h:1170
void removeToFieldTag()
Remove the To field tag and value.
Definition: SipMessage.cpp:2834
void setRequestBadRequest(const SipMessage *request)
Definition: SipMessage.cpp:876
static void buildSipUrl(UtlString *url, const char *address, int port=PORT_NONE, const char *protocol=NULL, const char *user=NULL, const char *userLabel=NULL, const char *tag=NULL)
Definition: SipMessage.cpp:2335
void setReferFailedData(const SipMessage *referRequest)
Definition: SipMessage.cpp:1792
void setExpiresField(int expiresInSeconds)
Definition: SipMessage.cpp:2454
void setAuthField(const char *authField)
UtlBoolean isInviteFor(const SipMessage *inviteRequest) const
Definition: SipMessage.cpp:4921
void setOkResponseData(const SipMessage *request, const char *localContact=NULL)
Definition: SipMessage.cpp:963
void addSdpBody(int nRtpContacts, UtlString hostAddresses[], int rtpAudioPorts[], int rtcpAudiopPorts[], int rtpVideoPorts[], int rtcpVideoPorts[], RTP_TRANSPORT transportTypes[], int numRtpCodecs, SdpCodec *rtpCodecs[], SdpSrtpParameters *srtpParams, int videoBandwidth, int videoFramerate, const SipMessage *pRequest=NULL, const RTP_TRANSPORT rtpTransportOptions=RTP_TRANSPORT_UDP)
There are some special rules implemented by this routine:
Definition: SipMessage.cpp:417
void setRawToField(const char *toField)
Definition: SipMessage.cpp:2430
void setByeData(const char *uri, const char *fromAddress, const char *toAddress, const char *callId, const char *localContact, int sequenceNumber=1)
Definition: SipMessage.cpp:1582
void applyTargetUriHeaderParams()
Apply any header parameters in the request uri to the message.
Definition: SipMessage.cpp:1946
const SdpBody * getSdpBody(SIPXTACK_SECURITY_ATTRIBUTES *const pSecurity=NULL, const void *pEventData=NULL) const
Accessor to get SDP body, optionally decrypting it if key info. is provided.
Definition: SipMessage.cpp:493
UtlBoolean getFieldSubfield(const char *fieldName, int subfieldIndex, UtlString *subfieldValue) const
Definition: SipMessage.cpp:4024
UtlBoolean isRequireExtensionSet(const char *extension) const
Definition: SipMessage.cpp:4974
UtlBoolean getCSeqField(int *sequenceNum, UtlString *sequenceMethod) const
Definition: SipMessage.cpp:3326
virtual void setRequestUnauthorized(const SipMessage *request, const char *authenticationScheme, const char *authenticationRealm, const char *authenticationNonce=NULL, const char *authenticationOpaque=NULL, enum HttpEndpointEnum authEntity=SERVER)
Definition: SipMessage.cpp:1330
static UtlBoolean isUrlHeaderAllowed(const char *)
Is this a header parameter we want to allow users or apps. to.
Definition: SipMessage.cpp:4991
void setCSeqField(int sequenceNumber, const char *method)
Definition: SipMessage.cpp:2308
void addAlsoUri(const char *alsoUri)
Deprecated.
Definition: SipMessage.cpp:4289
void setFromThisSide(const bool bFromThisSide)
Definition: SipMessage.h:1218
void setContactField(const char *contactField, int index=0)
Definition: SipMessage.cpp:2475
void setNotifyData(SipMessage *subscribeRequest, int lastLocalSequenceNumber, const char *route, const char *stateField=NULL, const char *eventField=NULL, const char *id=NULL)
Definition: SipMessage.cpp:969
void setReferDeclinedData(const SipMessage *referRequest)
Definition: SipMessage.cpp:1787
UtlBoolean isResponseTo(const SipMessage *message) const
Definition: SipMessage.cpp:4865
void getToUrl(Url &url) const
Definition: SipMessage.cpp:2589
UtlBoolean getContentEncodingField(UtlString *contentEncodingField) const
Definition: SipMessage.cpp:4126
void setRequestBadContentEncoding(const SipMessage *request, const char *allowedEncodings)
Definition: SipMessage.cpp:853
void setDNSField(const char *Protocol, const char *Address, const char *Port)
Definition: SipMessage.cpp:5029
void setRouteField(const char *routeField)
Definition: SipMessage.cpp:3900
UtlBoolean isSameMessage(const SipMessage *message, UtlBoolean responseCodesMustMatch=FALSE) const
@ Transaction and session related inquiry methods
Definition: SipMessage.cpp:4638
void setOptionsData(const SipMessage *inviteRequest, const char *LastRespContact, UtlBoolean optionsToCallee, int localCSequenceNumber, const char *routeField, const char *localContact)
Definition: SipMessage.cpp:1797
UtlBoolean getRequestDisposition(int tokenIndex, UtlString *dispositionToken) const
Definition: SipMessage.cpp:3647
void setSubscribeData(const char *uri, const char *fromField, const char *toField, const char *callId, int cseq, const char *eventField, const char *acceptField, const char *id, const char *contact, const char *routeField, int expiresInSeconds)
Definition: SipMessage.cpp:1111
UtlBoolean isRequestDispositionSet(const char *dispositionToken) const
Definition: SipMessage.cpp:4956
UtlBoolean isResponse() const
Returns TRUE if this a SIP response as opposed to a request.
Definition: SipMessage.cpp:4594
UtlBoolean getContactAddress(int addressIndex, UtlString *contactAddress, int *contactPort, UtlString *protocol, UtlString *user=NULL, UtlString *userLabel=NULL) const
Definition: SipMessage.cpp:3483
static void setUriParameter(UtlString *uri, const char *parameterName, const char *parameterValue)
Definition: SipMessage.cpp:2758
sipXtapi event declarations
UtlBoolean getReferredByField(UtlString &referredByField) const
Definition: SipMessage.cpp:4336
void setAllowField(const char *referToField)
Definition: SipMessage.cpp:4417
void changeUri(const char *uri)
Definition: SipMessage.cpp:2521
UtlBoolean getAlsoField(UtlString *alsoField) const
Deprecated.
Definition: SipMessage.cpp:4276
void setToField(const char *toAddress, int toPort, const char *fromProtocol=NULL, const char *toUser=NULL, const char *toLabel=NULL)
Definition: SipMessage.cpp:2441
UtlBoolean isSameSession(const SipMessage *message) const
Definition: SipMessage.cpp:4691
void replaceLongFieldNames()
Definition: SipMessage.cpp:225
Specialization of HttpMessage to contain and manipulate SIP messages.
Definition: SipMessage.h:343
UtlBoolean getSipIfMatchField(UtlString &sipIfMatchField) const
Get the SIP-IF-MATCH field from the PUBLISH request.
Definition: SipMessage.cpp:5302
HTTP message container.
Definition: HttpMessage.h:191
void setRegisterData(const char *registererUri, const char *registerAsUri, const char *registrarServerUri, const char *takeCallsAtUri, const char *callId, int sequenceNumber, int expiresInSeconds=-1)
Definition: SipMessage.cpp:258
#define HTTP_DEFAULT_SOCKET_BUFFER_SIZE
Definition: HttpMessage.h:39
const UtlString & getLocalIp() const
Definition: SipMessage.cpp:5175
static UtlBoolean getViaTag(const char *viaField, const char *tagName, UtlString &tagValue)
Definition: SipMessage.cpp:3265
void setRequestPendingData(const SipMessage *inviteRequest)
Definition: SipMessage.cpp:748
void setAlsoField(const char *alsoField)
Deprecated.
Definition: SipMessage.cpp:4284
void normalizeProxyRoutes(const SipUserAgent *sipUA, Url &requestUri, UtlSList *removedRoutes=NULL)
Adjust route values as required when receiving at a proxy.
Definition: SipMessage.cpp:5547
void setForwardResponseData(const SipMessage *inviteRequest, const char *forwardAddress)
Definition: SipMessage.cpp:770
UtlBoolean getExpiresField(int *expiresInSeconds) const
Definition: SipMessage.cpp:3589
void setAckData(const char *uri, const char *fromAddress, const char *toAddress, const char *callId, int sequenceNumber=1)
Definition: SipMessage.cpp:1444
SipTransaction correlates requests and responses.
Definition: SipTransaction.h:51
void replaceShortFieldNames()
Definition: SipMessage.cpp:194
void setEventData(void *pEventData)
Definition: SipMessage.h:784
bool fireSecurityEvent(const void *pEventData, const enum SIPX_SECURITY_EVENT, const enum SIPX_SECURITY_CAUSE, SIPXTACK_SECURITY_ATTRIBUTES *const pSecurity, void *pCert=NULL, char *szSubjectAltName=NULL) const
Definition: SipMessage.cpp:5466
UtlBoolean getViaField(UtlString *viaField, int index) const
Definition: SipMessage.cpp:3114
static void ParseContactFields(const SipMessage *sipResponse, const SipMessage *ipRequest, const UtlString &subFieldName, int &subFieldValue)
Definition: SipMessage.cpp:5094
UtlBoolean getContactUri(int addressIndex, UtlString *uri) const
Definition: SipMessage.cpp:3390
void decrementMaxForwards()
Definition: SipMessage.cpp:2550
UtlBoolean getRequireExtension(int extensionIndex, UtlString *extension) const
Definition: SipMessage.cpp:3501
void getFromLabel(UtlString *fromLabel) const
Definition: SipMessage.cpp:2607
UtlBoolean isAckFor(const SipMessage *inviteResponse) const
Definition: SipMessage.cpp:4894
UtlBoolean getAllowField(UtlString &referToField) const
Definition: SipMessage.cpp:4422
static void parseAddressFromUri(const char *uri, UtlString *address, int *port, UtlString *protocol, UtlString *user=NULL, UtlString *userLabel=NULL, UtlString *tag=NULL)
Definition: SipMessage.cpp:2720
UtlBoolean getRecordRouteUri(int index, UtlString *recordRouteUri) const
Definition: SipMessage.cpp:3662
void getFromUri(UtlString *uri) const
Definition: SipMessage.cpp:2906
void removePAssertedIdentityFields()
Remove all of the P-Asserted-Identity header fields.
Definition: SipMessage.cpp:2641
void getUri(UtlString *address, int *port, UtlString *protocol, UtlString *user=NULL) const
Definition: SipMessage.cpp:2848
void setViaFromRequest(const SipMessage *request)
Definition: SipMessage.cpp:2246
void setReferToField(const char *referToField)
Definition: SipMessage.cpp:4318
UtlBoolean getWarningCode(int *warningCode, int index=0) const
Definition: SipMessage.cpp:3056
Definition: SmimeBody.h:194
static void parseViaParameters(const char *viaField, UtlContainer &viaParameterList)
Get the name/value pairs for a Via field.
Definition: SipMessage.cpp:5197
void setRegInfoData(const char *method, const char *fromField, const char *toField, const char *uri, const char *contactUrl, const char *callId, int CSeq, SipRegInfoBody ®InfoBody)
void setTryingResponseData(const SipMessage *request)
Definition: SipMessage.cpp:685
UtlBoolean getRouteField(UtlString *routeField) const
Definition: SipMessage.cpp:3753
void setRequestedByField(const char *requestedByUri)
Definition: SipMessage.cpp:4305
void setEnrollmentData(const char *uri, const char *fromField, const char *toField, const char *callId, int CSequenceNum, const char *contactUrl, const char *protocolField, const char *profileField, int expiresInSeconds=-1)
Definition: SipMessage.cpp:1163
void getToUri(UtlString *uri) const
Definition: SipMessage.cpp:3012
void setSecurityAttributes(const SIPXTACK_SECURITY_ATTRIBUTES *const pSecurity)
Definition: SipMessage.cpp:488
void getToField(UtlString *toField) const
Definition: SipMessage.cpp:2575
void setReferredByField(const char *referredByField)
Definition: SipMessage.cpp:4331
UtlBoolean getLastRouteUri(UtlString &routeUri, int &lastIndex)
Definition: SipMessage.cpp:3824
UtlBoolean getRequestedByField(UtlString &requestedByField) const
Definition: SipMessage.cpp:4310
UtlBoolean isServerTransaction(UtlBoolean isOutgoing) const
Is message part of a server or client transaction?
Definition: SipMessage.cpp:4608
void clearDNSField()
Definition: SipMessage.cpp:5040
void setRequestBadMethod(const SipMessage *request, const char *allowedMethods)
Definition: SipMessage.cpp:829
void getToLabel(UtlString *toLabel) const
Definition: SipMessage.cpp:2665
SIPX_SECURITY_CAUSE
Enumeration of possible security causes.
Definition: sipXtapiEvents.h:448
void getCallIdField(UtlString *callId) const
Definition: SipMessage.cpp:3291
void setAcceptField(const char *acceptField)
UtlBoolean getRecordRouteField(int index, UtlString *recordRouteField) const
Definition: SipMessage.cpp:3654
Definition: SipMessage.h:352
void setReferData(const SipMessage *inviteResponse, UtlBoolean byeToCallee, int localSequenceNumber, const char *routeField, const char *contactUrl, const char *remoteContactUrl, const char *transferTargetAddress, const char *targetCallId)
Definition: SipMessage.cpp:1670
void setRequestData(const char *method, const char *uri, const char *fromAddress, const char *toAddress, const char *callId, int sequenceNumber=1, const char *contactUrl=NULL)
Definition: SipMessage.cpp:626
void addRequestDisposition(const char *dispositionToken)
Definition: SipMessage.cpp:2487
virtual ~SipMessage()
Definition: SipMessage.cpp:107
void setToFieldTag(const char *tagValue)
Definition: SipMessage.cpp:2817
void setFromField(const char *fromField)
Definition: SipMessage.cpp:2401
void setRequestDispositionField(const char *dispositionField)
Definition: SipMessage.cpp:2481
static UtlBoolean getShortName(const char *longFieldName, UtlString *shortFieldName)
Definition: SipMessage.cpp:137
void incrementCSeqNumber()
Definition: SipMessage.cpp:2322
UtlBoolean getSipETagField(UtlString &sipETagField) const
Get the SIP-ETAG field from the response to a PUBLISH request.
Definition: SipMessage.cpp:5315
UtlBoolean getMaxForwards(int &maxForwards) const
Definition: SipMessage.cpp:2531
UtlBoolean getSessionExpires(int *sessionExpiresSeconds, UtlString *refresher) const
Definition: SipMessage.cpp:4138
void getFromAddress(UtlString *fromAddress, int *fromPort, UtlString *protocol, UtlString *user=NULL, UtlString *userLabel=NULL, UtlString *tag=NULL) const
Definition: SipMessage.cpp:2884
void setSipETagField(const char *sipETagField)
Set the SIP-ETAG field in a response to the PUBLISH request.
Definition: SipMessage.cpp:5310
UtlBoolean getResponseSendAddress(UtlString &address, int &port, UtlString &protocol) const
Definition: SipMessage.cpp:2948
UtlBoolean getRequestDispositionField(UtlString *dispositionField) const
Definition: SipMessage.cpp:3634
UtlBoolean isInSupportedField(const char *token) const
Test whether "token" is present in the Supported: header.
Definition: SipMessage.cpp:4223
void setInviteErrorData(const SipMessage *inviteRequest, int errorCode, const UtlString &errorText)
Definition: SipMessage.cpp:726
void setMaxForwards(int maxForwards)
Definition: SipMessage.cpp:2543
void getFromField(UtlString *fromField) const
Definition: SipMessage.cpp:2561
UtlBoolean getContactEntry(int addressIndex, UtlString *uriAndParameters) const
Definition: SipMessage.cpp:3415
void setBadTransactionData(const SipMessage *inviteRequest)
Definition: SipMessage.cpp:709
void setAckErrorData(const SipMessage *inviteResponse)
Definition: SipMessage.cpp:1577
void setMWIData(const char *method, const char *fromField, const char *toField, const char *uri, const char *contactUrl, const char *callId, int CSeq, UtlString bodyString)
Definition: SipMessage.cpp:1276
void setRecordRouteField(const char *recordRouteField, int index)
Definition: SipMessage.cpp:3673
static void buildReplacesField(UtlString &replacesField, const char *callId, const char *fromField, const char *toFIeld)
Definition: SipMessage.cpp:4004
UtlBoolean getReferredByUrls(UtlString *referrerUrl=NULL, UtlString *referredToUrl=NULL) const
Definition: SipMessage.cpp:4344
UtlBoolean getAlsoUri(int index, UtlString *alsoUri) const
Deprecated.
Definition: SipMessage.cpp:4271
void setSessionExpires(int sessionExpiresSeconds, const char *refresher=NULL)
Definition: SipMessage.cpp:4172
void setSupportedField(const char *supportedField)
Definition: SipMessage.cpp:4218
void setMinExpiresField(int minimumExpiresInSeconds)
Definition: SipMessage.cpp:2466
UtlBoolean isClientMsgStrictRouted() const
Definition: SipMessage.cpp:3727
void setInviteRingingData(const char *fromAddress, const char *toAddress, const char *callId, int sequenceNumber=1)
UtlBoolean verifyMd5Authorization(const char *userId, const char *password, const char *nonce, const char *realm, const char *uri=NULL, enum HttpEndpointEnum authEntity=SERVER) const
Definition: SipMessage.cpp:1361
void setPublishData(const char *uri, const char *fromField, const char *toField, const char *callId, int cseq, const char *eventField, const char *id, const char *sipIfMatchField, int expiresInSeconds, const char *contact)
Set a PUBLISH request.
Definition: SipMessage.cpp:1906
void setCallIdField(const char *callId=NULL)
Definition: SipMessage.cpp:2303
void addLastRouteUri(const char *routeUri)
Definition: SipMessage.cpp:3790
void setQueuedResponseData(const SipMessage *inviteRequest)
Definition: SipMessage.cpp:695
SIPXTACK_SECURITY_ATTRIBUTES *const getSecurityAttributes() const
Definition: SipMessage.h:668
UtlBoolean removeRouteUri(int index, UtlString *routeUri)
Definition: SipMessage.cpp:3849
void setInviteData(const char *fromAddress, const char *toAddress, const char *farEndContact, const char *contactUrl, const char *callId, int sequenceNumber=1, int sessionReinviteTimer=0)
Definition: SipMessage.cpp:330
void setWarningField(int code, const char *hostname, const char *text)
Definition: SipMessage.cpp:2501
void setRequestBadAddress(const SipMessage *request)
Definition: SipMessage.cpp:866
UtlBoolean getDiversionField(int index, UtlString &diversionField)
Definition: SipMessage.cpp:4534
static UtlBoolean isUrlHeaderUnique(const char *)
Does this header allow multiple values, or only one.
Definition: SipMessage.cpp:4999
void setRawFromField(const char *toField)
Definition: SipMessage.cpp:2435
void setResponseData(const SipMessage *request, int responseCode, const char *responseText, const char *localContact=NULL)
Definition: SipMessage.cpp:1419
void getFromUrl(Url &url) const
Definition: SipMessage.cpp:2598
int setInviteOkRoutes(const SipMessage &inviteRequest)
Definition: SipMessage.cpp:948
bool getFromThisSide() const
Definition: SipMessage.h:1217
UtlBoolean getPAssertedIdentityField(UtlString &identity, int index=0) const
Get the identity value from the P-Asserted-Identity header field.
Definition: SipMessage.cpp:2632
void setRequestBadVersion(const SipMessage *request)
Definition: SipMessage.cpp:871
void setServerField(const char *serverField)
Definition: SipMessage.cpp:4208
UtlBoolean getLastDiversionField(UtlString &diversionField, int &lastIndex)
Definition: SipMessage.cpp:4516
bool smimeEncryptSdp(const void *pEventData)
Definition: SipMessage.cpp:5409
UtlBoolean getViaFieldSubField(UtlString *viaSubField, int subFieldIndex) const
Definition: SipMessage.cpp:3126
SipTransaction * getSipTransaction() const
Accessor to get transaction reference.
Definition: SipMessage.cpp:5052
UtlBoolean getReasonField(UtlString &reasonField) const
Definition: SipMessage.cpp:4448
void addDiversionField(const char *addr, const char *reasonParam, UtlBoolean afterOtherDiversions=FALSE)
Definition: SipMessage.cpp:4466
void addRecordRouteUri(const char *recordRouteUri)
Definition: SipMessage.cpp:3679
void getToAddress(UtlString *toAddress, int *toPort, UtlString *protocol, UtlString *user=NULL, UtlString *userLabel=NULL, UtlString *tag=NULL) const
Definition: SipMessage.cpp:2895
void setByeErrorData(const SipMessage *byeRequest)
Definition: SipMessage.cpp:1868
void setSipIfMatchField(const char *sipIfMatchField)
Set the SIP-IF-MATCH field for a PUBLISH request.
Definition: SipMessage.cpp:5297
URL parser and constructor.
Definition: Url.h:90
void setInviteOkData(const SipMessage *inviteRequest, int maxSessionExpiresSeconds, const char *localContact=NULL)
Definition: SipMessage.cpp:887
static void convertProtocolStringToEnum(const char *protocolString, OsSocket::IpProtocolSocketType &protocolEnum)
Definition: SipMessage.cpp:2983
UtlBoolean removeLastVia()
Definition: SipMessage.cpp:3077
UtlBoolean getEventField(UtlString *eventType, UtlString *eventId=NULL, UtlHashMap *params=NULL) const
Retrieve the event type, id, and other params from the Event Header.
Definition: SipMessage.cpp:3519
SIPX_SECURITY_EVENT
Enumeration of possible security events.
Definition: sipXtapiEvents.h:431
UtlBoolean getDNSField(UtlString *Protocol, UtlString *Address, UtlString *Port) const
Definition: SipMessage.cpp:5008
void setRequestTerminatedResponseData(const SipMessage *request)
Definition: SipMessage.cpp:1325
void setReceivedViaParams(const UtlString &fromIpAddress, int fromPort)
fills in parameters in topmost via based on actual received information.
Definition: SipMessage.cpp:2261
void addRouteUri(const char *routeUri)
Definition: SipMessage.cpp:3761
const UtlString getTransportName(bool &bCustom) const
Accessor to retrieve any transport string from.
Definition: SipMessage.cpp:5057
void setVoicemailData(const char *fromField, const char *toField, const char *Uri, const char *contactUrl, const char *callId, int CSeq, int subscribePeriod=-1)
Definition: SipMessage.cpp:1305
void setReferOkData(const SipMessage *referRequest)
Definition: SipMessage.cpp:1782
void setTransaction(SipTransaction *transaction)
Accessor to store transaction reference.
Definition: SipMessage.cpp:5047
void getDialogHandle(UtlString &dialogHandle) const
Definition: SipMessage.cpp:3305
void setLocalIp(const UtlString &localIp)
Definition: SipMessage.cpp:5180
void addViaField(const char *viaField, UtlBoolean afterOtherVias=TRUE)
Definition: SipMessage.cpp:2122
void setInviteBadCodecs(const SipMessage *inviteRequest, SipUserAgent *ua)
Generate a 488 response (no compatible codecs).
Definition: SipMessage.cpp:784
void addPAssertedIdentityField(const UtlString &identity)
Add the P-Asserted-Identity value.
Definition: SipMessage.cpp:2648
void setMessageSummaryData(UtlString &msgSummaryData, const char *msgAccountUri, UtlBoolean bNewMsgs=FALSE, UtlBoolean bVoiceMsgs=FALSE, UtlBoolean bFaxMsgs=FALSE, UtlBoolean bEmailMsgs=FALSE, int numNewMsgs=-1, int numOldMsgs=-1, int numFaxNewMsgs=-1, int numFaxOldMsgs=-1, int numEmailNewMsgs=-1, int numEmailOldMsgs=-1)
Definition: SipMessage.cpp:1216
Container for MIME type application/sdp.
Definition: SdpBody.h:89
void OnError(SIPX_SECURITY_EVENT event, SIPX_SECURITY_CAUSE cause)
Definition: SipMessage.cpp:5532
UtlBoolean getReplacesData(UtlString &callId, UtlString &toTag, UtlString &fromTag) const
Definition: SipMessage.cpp:4363
Definition: SipMessage.h:351
void setLastViaTag(const char *tagValue, const char *tagName="received")
Definition: SipMessage.cpp:2161
UtlBoolean getReferToField(UtlString &referToField) const
Definition: SipMessage.cpp:4323
UtlBoolean getRouteUri(int index, UtlString *routeUri) const
Definition: SipMessage.cpp:3842
void setRequestUnimplemented(const SipMessage *request)
Definition: SipMessage.cpp:838
void addVia(const char *domainName, int port, const char *protocol, const char *branchId=NULL, const bool bIncludeRport=false, const char *customRouteId=NULL)
Definition: SipMessage.cpp:2067
EventSubTypes
Definition: SipMessage.h:349
sipXtapi main API declarations
UtlBoolean getSupportedField(UtlString &supportedField) const
Definition: SipMessage.cpp:4213
void setSipRequestFirstHeaderLine(const char *method, const char *uri, const char *protocolVersion=SIP_PROTOCOL_VERSION)
Definition: SipMessage.cpp:244
UtlBoolean getProxyRequireExtension(int extensionIndex, UtlString *extension) const
Definition: SipMessage.cpp:3507
bool hasSelfHeader() const
Definition: SipMessage.cpp:4187
void setInviteForbidden(const SipMessage *request)
Definition: SipMessage.cpp:824
UtlBoolean isSameTransaction(const SipMessage *message) const
Definition: SipMessage.cpp:4936