67 #define SIP_METHOD(s) sip_method_unknown, #s 68 #define SIP_METHOD_ACK sip_method_ack, "ACK" 69 #define SIP_METHOD_CANCEL sip_method_cancel, "CANCEL" 70 #define SIP_METHOD_BYE sip_method_bye, "BYE" 71 #define SIP_METHOD_INVITE sip_method_invite, "INVITE" 72 #define SIP_METHOD_OPTIONS sip_method_options, "OPTIONS" 73 #define SIP_METHOD_REGISTER sip_method_register, "REGISTER" 74 #define SIP_METHOD_INFO sip_method_info, "INFO" 75 #define SIP_METHOD_PRACK sip_method_prack, "PRACK" 76 #define SIP_METHOD_UPDATE sip_method_update, "UPDATE" 77 #define SIP_METHOD_MESSAGE sip_method_message, "MESSAGE" 78 #define SIP_METHOD_SUBSCRIBE sip_method_subscribe, "SUBSCRIBE" 79 #define SIP_METHOD_NOTIFY sip_method_notify, "NOTIFY" 80 #define SIP_METHOD_REFER sip_method_refer, "REFER" 81 #define SIP_METHOD_PUBLISH sip_method_publish, "PUBLISH" 84 #define SIP_NONE ((void const *)(intptr_t)-1) 87 #define SIP_PROTOCOL_TAG ((void *)(uintptr_t)0x53495020) 92 #define SIP_DEFAULT_PORT SIP_DEFAULT_PORT 95 #define SIP_DEFAULT_SERV "5060" 99 #define SIPS_DEFAULT_PORT SIPS_DEFAULT_PORT 101 #define SIPS_DEFAULT_SERV "5061" 108 #define SIP_TIME_MAX ((sip_time_t)MSG_TIME_MAX) 118 #define g_value g_string 393 #define a_user a_url->url_user 394 #define a_host a_url->url_host 495 #if DOCUMENTATION_ONLY 551 # define ex_time ex_date 595 char const *r_display;
607 char const *b_display;
807 #define sh_next sh_header_next->shn_next 808 #define sh_class sh_common->h_class 809 #define sh_succ sh_common->h_succ 810 #define sh_prev sh_common->h_prev 811 #define sh_data sh_common->h_data 812 #define sh_len sh_common->h_len BYE.
Definition: sip.h:54
char const * ss_substate
Subscription state: "pending", "active" or "terminated".
Definition: sip.h:731
char const * i_id
ID value.
Definition: sip.h:441
sip_min_se_t * sip_min_se
Min-SE.
Definition: sip.h:317
sip_error_t * cs_next
Link to next (dummy)
Definition: sip.h:463
unsigned long me_delta
Seconds.
Definition: sip.h:572
Structure for Content-Length header.
Definition: sip.h:488
sip_error_t * rd_next
Link to next (dummy)
Definition: sip.h:647
Structure for Reason header field.
Definition: sip.h:667
char const * af_comment
Comment string.
Definition: sip.h:636
Structure for RAck header.
Definition: sip.h:578
msg_param_t const * re_params
List of reason parameters.
Definition: sip.h:672
sip_user_agent_t * sip_user_agent
User-Agent.
Definition: sip.h:276
char const * b_cid
The cid parameter.
Definition: sip.h:610
Structure for Referred-By header.
Definition: sip.h:603
sip_error_t * l_next
Link to next (dummy)
Definition: sip.h:491
sip_error_t * min_next
Dummy link to next.
Definition: sip.h:718
sip_path_t * sip_path
Path.
Definition: sip.h:319
CANCEL.
Definition: sip.h:53
msg_param_t const * c_params
List of parameters.
Definition: sip.h:506
char const * v_maddr
Value of "maddr" parameter.
Definition: sip.h:762
sip_caller_prefs_t * cp_next
Link to next (dummy)
Definition: sip.h:657
char const * sa_d_alg
Value of d-alg parameter.
Definition: sip.h:781
sip_security_verify_t * sip_security_verify
Security-Verify.
Definition: sip.h:326
sip_refer_to_t * sip_refer_to
Refer-To (r)
Definition: sip.h:310
sip_authorization_t * sip_authorization
Authorization.
Definition: sip.h:300
sip_method_t
IDs for well-known SIP methods.
Definition: sip.h:48
Structure for Content-Type header.
Definition: sip.h:500
sip_common_t ra_common
Common fragment info.
Definition: sip.h:580
Structure for Retry-After header.
Definition: sip.h:632
unsigned cp_explicit
Value of "explicit" parameter.
Definition: sip.h:661
char const * ts_stamp
Original timestamp.
Definition: sip.h:745
Structure for Error-Info header.
Definition: sip.h:523
char const * v_comment
Comment.
Definition: sip.h:760
msg_param_t const * priv_values
Privacy values
Definition: sip.h:793
sip_from_t * sip_from
From (f)
Definition: sip.h:250
char const * c_subtype
Points after first slash in type.
Definition: sip.h:505
msg_list_t sip_unsupported_t
The structure sip_unsupported_t contains representation of an Unsupported header. ...
Definition: sip.h:198
sip_error_t * rq_next
Link to next (dummy)
Definition: sip.h:359
char const * ra_method_name
Original request method name.
Definition: sip.h:585
sip_error_t * o_next
Link to next (dummy)
Definition: sip.h:537
sip_request_disposition_t * sip_request_disposition
Request-Disposition (d)
Definition: sip.h:259
char const * o_type
Event type
Definition: sip.h:538
sip_method_t cs_method
Method enum.
Definition: sip.h:465
msg_param_t * k_items
List of allowed items.
Definition: sip.h:418
msg_list_t sip_allow_events_t
The structure sip_allow_events_t contains representation of an Allow-Events header.
Definition: sip.h:205
Structure for Refer-To header.
Definition: sip.h:591
sip_expires_t * sip_expires
Expires.
Definition: sip.h:264
sip_allow_t * sip_allow
Allow.
Definition: sip.h:283
void * sip_user
Application data.
Definition: sip.h:233
msg_list_t sip_supported_t
The structure sip_supported_t contains representation of an Supported header.
Definition: sip.h:195
char const * v_ttl
Value of "ttl" parameter.
Definition: sip.h:761
Structure for Timestamp header.
Definition: sip.h:741
Default port for SIP as integer.
Definition: sip.h:91
char const * c_type
Pointer to type/subtype.
Definition: sip.h:504
sip_error_t * ra_next
Dummy link to next.
Definition: sip.h:581
sip_rack_t * sip_rack
RAck.
Definition: sip.h:256
char const * ci_purpose
Value of purpose parameter.
Definition: sip.h:454
msg_multipart_t * sip_multipart
Multipart MIME payload.
Definition: sip.h:349
Structure for Authentication-Info header.
Definition: sip.h:428
sip_call_info_t * sip_call_info
Call-Info.
Definition: sip.h:273
sip_retry_after_t * sip_retry_after
Retry-After.
Definition: sip.h:266
Structure for Replaces header.
Definition: sip.h:617
sip_proxy_authentication_info_t * sip_proxy_authentication_info
Proxy-Authentication-Info.
Definition: sip.h:296
sip_content_encoding_t * sip_content_encoding
Content-Encoding (e)
Definition: sip.h:336
msg_param_t const * af_params
List of parameters.
Definition: sip.h:637
sip_date_t * sip_date
Date.
Definition: sip.h:265
sip_error_t * c_next
Dummy link to next.
Definition: sip.h:503
sip_to_t * sip_to
To (t)
Definition: sip.h:251
Invalid method name.
Definition: sip.h:49
char const * sa_d_ver
Value of d-ver parameter.
Definition: sip.h:783
Structure for RSeq header.
Definition: sip.h:692
msg_param_t const * rp_params
List of parameters.
Definition: sip.h:622
char const * v_comp
Value of "comp" parameter.
Definition: sip.h:766
msg_time_t sip_time_t
Time in seconds since Jan 01 1900.
Definition: sip.h:105
Structure for Subscription-State header.
Definition: sip.h:726
sip_via_t * v_next
Link to next Via header.
Definition: sip.h:755
sip_supported_t * sip_supported
Supported (k)
Definition: sip.h:285
char const * x_refresher
Value of "refresher" parameter: UAS or UAC.
Definition: sip.h:708
Structure for Min-SE header.
Definition: sip.h:715
unsigned long mf_count
Forwarding count.
Definition: sip.h:562
Structure for Min-Expires header.
Definition: sip.h:568
sip_in_reply_to_t * sip_in_reply_to
In-Reply-To.
Definition: sip.h:277
Structure for From and To headers.
Definition: sip.h:381
sip_error_t * ss_next
Dummy link to next.
Definition: sip.h:729
sip_time_t d_time
Seconds since Jan 1, 1900.
Definition: sip.h:517
SUBSCRIBE.
Definition: sip.h:61
struct sip_security_agree_s * sa_next
Link to next mechanism.
Definition: sip.h:776
sip_proxy_authenticate_t * sip_proxy_authenticate
Proxy-Authenticate.
Definition: sip.h:294
unsigned cp_require
Value of "require" parameter.
Definition: sip.h:660
union sip_header_u sip_header_t
Any SIP header - union of all possible SIP headers.
Definition: sip.h:114
sip_route_t * r_next
Link to next.
Definition: sip.h:683
msg_param_t const * ci_params
List of parameters.
Definition: sip.h:453
sip_record_route_t * sip_record_route
Record-Route.
Definition: sip.h:246
char const * re_cause
Value of cause parameter.
Definition: sip.h:673
Structure for Security-Client, Security-Server, and Security-Verify headers.
Definition: sip.h:773
msg_content_disposition_t sip_content_disposition_t
The structure sip_content_disposition_t contains representation of an Content-Disposition header...
Definition: sip.h:151
INFO.
Definition: sip.h:57
char const * re_text
Value of text parameter.
Definition: sip.h:674
msg_warning_t sip_warning_t
The structure sip_warning_t contains representation of an Warning header.
Definition: sip.h:201
sip_reject_contact_t * sip_reject_contact
Reject-Contact (j)
Definition: sip.h:262
char const * ts_delay
Delay at UAS.
Definition: sip.h:746
sip_error_t * b_next
Link to next (dummy)
Definition: sip.h:606
sip_error_t * af_next
Link to next (dummy)
Definition: sip.h:634
msg_param_t const * b_params
List of parameters.
Definition: sip.h:609
char const * ss_reason
Reason for termination.
Definition: sip.h:733
Structure for Allow header field.
Definition: sip.h:414
sip_rseq_t * sip_rseq
RSeq.
Definition: sip.h:255
Default port for SIPS as integer.
Definition: sip.h:98
PUBLISH.
Definition: sip.h:64
sip_reason_t * sip_reason
Reason.
Definition: sip.h:322
char const * cp_q
Priority
Definition: sip.h:659
sip_require_t * sip_require
Require.
Definition: sip.h:284
uint32_t ra_cseq
Sequence number of request.
Definition: sip.h:583
char const * v_protocol
Application and transport protocol.
Definition: sip.h:756
MESSAGE.
Definition: sip.h:60
char const * o_id
Event ID
Definition: sip.h:540
char const * af_duration
Value of "duration" parameter.
Definition: sip.h:638
msg_param_t const * ai_params
List of authentication info.
Definition: sip.h:432
msg_param_t const * ss_params
List of parameters.
Definition: sip.h:732
msg_common_t sip_common_t
Common part of all the header structures.
Definition: sip.h:121
Structure for SIP status line.
Definition: sip.h:369
sip_subscription_state_t * sip_subscription_state
Subscription-State.
Definition: sip.h:291
uint32_t ra_response
Sequence number of response.
Definition: sip.h:582
sip_etag_t * sip_etag
SIP-ETag.
Definition: sip.h:330
sip_security_client_t * sip_security_client
Security-Client.
Definition: sip.h:324
sip_call_id_t * i_next
Link to next (In-Reply-To)
Definition: sip.h:440
msg_list_t sip_in_reply_to_t
The structure sip_in_reply_to_t contains representation of SIP In-Reply-To header.
Definition: sip.h:161
Structure for CSeq header.
Definition: sip.h:460
sip_max_forwards_t * sip_max_forwards
Max-Forwards.
Definition: sip.h:247
char const * rp_to_tag
Value of "to-tag" parameter.
Definition: sip.h:623
char const * v_received
Value of "received" parameter.
Definition: sip.h:763
char const * rp_call_id
Call-ID of dialog to replace
Definition: sip.h:621
msg_param_t const * r_params
List of route parameters.
Definition: sip.h:686
sip_service_route_t * sip_service_route
Service-Route.
Definition: sip.h:320
sip_route_t * sip_route
Route.
Definition: sip.h:245
Structure for SIP request line.
Definition: sip.h:356
sip_call_info_t * ei_next
Link to next Error-Info.
Definition: sip.h:526
msg_param_t sip_param_t
SIP parameter string.
Definition: sip.h:124
uint32_t i_hash
Hash value (always nonzero)
Definition: sip.h:442
int st_status
Status code.
Definition: sip.h:374
char const * rp_from_tag
Value of "from-tag" parameter.
Definition: sip.h:624
char const * ss_retry_after
Value of retry-after parameter.
Definition: sip.h:735
int sip_flags
Parser flags.
Definition: sip.h:235
sip_error_t * st_next
Link to next (dummy)
Definition: sip.h:372
msg_param_t const * r_params
List of parameters.
Definition: sip.h:597
sip_time_t af_delta
Seconds to before retry.
Definition: sip.h:635
sip_call_id_t * sip_call_id
Call-ID (i)
Definition: sip.h:252
sip_date_t * d_next
Link to next (dummy)
Definition: sip.h:516
msg_payload_t sip_payload_t
The structure sip_payload_t contains representation of SIP message payload.
Definition: sip.h:137
msg_accept_any_t sip_accept_encoding_t
The structure sip_accept_encoding_t contains representation of SIP Accept-Encoding header...
Definition: sip.h:140
char const * ac_type
Pointer to type/subtype.
Definition: sip.h:403
unsigned long min_delta
Delta-seconds.
Definition: sip.h:719
msg_error_t sip_error_t
The structure sip_error_t contains representation of error headers.
Definition: sip.h:134
msg_accept_any_t sip_accept_language_t
The structure sip_accept_language_t contains representation of SIP Accept-Language header...
Definition: sip.h:141
sip_time_t ex_delta
Delta seconds.
Definition: sip.h:552
Structure for Request-Disposition header.
Definition: sip.h:644
INVITE.
Definition: sip.h:51
sip_replaces_t * sip_replaces
Replaces.
Definition: sip.h:312
sip_referred_by_t * sip_referred_by
Referred-By (b)
Definition: sip.h:311
msg_param_t const * a_params
Parameter table.
Definition: sip.h:387
char const * ac_q
Value of q parameter.
Definition: sip.h:406
sip_unsupported_t * sip_unsupported
Unsupported.
Definition: sip.h:286
char const * a_tag
Tag parameter.
Definition: sip.h:390
char const * v_host
Hostname.
Definition: sip.h:757
char const * v_rport
Value of "rport" parameter.
Definition: sip.h:765
msg_param_t const * ac_params
List of parameters.
Definition: sip.h:405
sip_accept_t * ac_next
Pointer to next Accept value.
Definition: sip.h:402
sip_time_t ex_date
Seconds since Jan 1, 1900.
Definition: sip.h:550
msg_param_t const * ei_params
List of parameters.
Definition: sip.h:528
sip_error_t * r_next
Link to next (dummy)
Definition: sip.h:594
unsigned sip_size
Size of structure.
Definition: sip.h:234
sip_allow_events_t * sip_allow_events
Allow-Events (u)
Definition: sip.h:290
msg_param_t const * x_params
List of parameters.
Definition: sip.h:707
sip_priority_t * sip_priority
Priority.
Definition: sip.h:271
sip_content_disposition_t * sip_content_disposition
Content-Disposition.
Definition: sip.h:339
unsigned rp_early_only
early-only parameter
Definition: sip.h:625
Structure for Session-Expires header.
Definition: sip.h:702
sip_timestamp_t * sip_timestamp
Timestamp.
Definition: sip.h:267
char const * rq_method_name
Method name.
Definition: sip.h:361
sip_content_language_t * sip_content_language
Content-Language.
Definition: sip.h:338
msg_separator_t sip_separator_t
The structure sip_separator_t contains representation of separator line between message headers and b...
Definition: sip.h:136
char const * sa_q
Value of q (preference) parameter.
Definition: sip.h:780
msg_param_t const * min_params
List of extension parameters.
Definition: sip.h:720
char const * v_port
Port number.
Definition: sip.h:758
char const * a_display
Display name.
Definition: sip.h:385
sip_cseq_t * sip_cseq
CSeq.
Definition: sip.h:253
char const * sa_d_qop
Value of d-qop parameter.
Definition: sip.h:782
char const * cs_method_name
Method name.
Definition: sip.h:466
sip_reason_t * re_next
Link to next.
Definition: sip.h:670
msg_list_t sip_require_t
The structure sip_require_t contains representation of an Require header.
Definition: sip.h:185
sip_accept_t * sip_accept
Accept.
Definition: sip.h:279
Structure for Call-ID (and In-Reply-To) header fields.
Definition: sip.h:438
UPDATE.
Definition: sip.h:59
sip_if_match_t * sip_if_match
SIP-If-Match.
Definition: sip.h:331
uint32_t cs_seq
Sequence number.
Definition: sip.h:464
sip_proxy_require_t * sip_proxy_require
Proxy-Require.
Definition: sip.h:248
char const * rq_version
Protocol version.
Definition: sip.h:363
Structure for Via header field.
Definition: sip.h:752
OPTIONS.
Definition: sip.h:55
Structure for Call-Info header.
Definition: sip.h:448
msg_list_t * k_next
Link to next.
Definition: sip.h:417
sip_www_authenticate_t * sip_www_authenticate
WWW-Authenticate.
Definition: sip.h:302
sip_error_t * priv_next
Dummy link.
Definition: sip.h:792
msg_list_t sip_proxy_require_t
The structure sip_proxy_require_t contains representation of an Proxy-Require header.
Definition: sip.h:170
ACK.
Definition: sip.h:52
sip_warning_t * sip_warning
Warning.
Definition: sip.h:307
uint32_t l_length
Length in bytes.
Definition: sip.h:492
sip_content_type_t * sip_content_type
Content-Type (c)
Definition: sip.h:335
msg_common_t sip_common[1]
For recursive inclusion.
Definition: sip.h:231
char const * sa_mec
Security mechanism.
Definition: sip.h:778
msg_param_t const * v_params
List of via-params.
Definition: sip.h:759
REFER.
Definition: sip.h:63
sip_separator_t * sip_separator
Separator between headers and payload.
Definition: sip.h:346
sip_error_t * sip_error
Erroneous headers.
Definition: sip.h:237
sip_proxy_authorization_t * sip_proxy_authorization
Proxy-Authorization.
Definition: sip.h:298
sip_error_t * ai_next
Dummy link to next.
Definition: sip.h:431
msg_pub_t * sip_next
Dummy link to msgfrag.
Definition: sip.h:232
char const * re_protocol
Protocol.
Definition: sip.h:671
uint32_t k_bitmap
Bitmap of allowed methods.
Definition: sip.h:419
Structure for Date header.
Definition: sip.h:513
char const * a_comment
Comment.
Definition: sip.h:388
msg_auth_t sip_auth_t
Authorization, Proxy-Authenticate, WWW-Authenticate
Definition: sip.h:130
char const * ss_expires
Subscription lifetime.
Definition: sip.h:734
msg_param_t const * cp_params
List of parameters.
Definition: sip.h:658
sip_request_t * sip_request
Request line.
Definition: sip.h:240
sip_error_t * ts_next
Dummy link to next.
Definition: sip.h:744
SIP message object.
Definition: sip.h:230
REGISTER.
Definition: sip.h:56
sip_call_info_t * ci_next
Link to next Call-Info.
Definition: sip.h:451
sip_accept_encoding_t * sip_accept_encoding
Accept-Encoding.
Definition: sip.h:280
sip_error_t * rs_next
Dummy link to next.
Definition: sip.h:695
sip_error_t * x_next
Dummy link to next.
Definition: sip.h:705
sip_unknown_t * sip_unknown
Unknown headers.
Definition: sip.h:345
sip_session_expires_t * sip_session_expires
Session-Expires (x)
Definition: sip.h:315
sip_method_t ra_method
Original request method.
Definition: sip.h:584
Structure for Max-Forwards header.
Definition: sip.h:558
sip_payload_t * sip_payload
Message payload.
Definition: sip.h:348
sip_server_t * sip_server
Server.
Definition: sip.h:275
Structure for Accept header field.
Definition: sip.h:399
msg_param_t const * o_params
List of parameters.
Definition: sip.h:539
msg_list_t sip_content_language_t
The structure sip_content_language_t contains representation of Content-Language header.
Definition: sip.h:153
sip_status_t * sip_status
Status line.
Definition: sip.h:241
char const * st_version
Protocol version.
Definition: sip.h:373
sip_mime_version_t * sip_mime_version
MIME-Version.
Definition: sip.h:334
sip_error_info_t * sip_error_info
Error-Info.
Definition: sip.h:306
Structure for Privacy header.
Definition: sip.h:789
NOTIFY.
Definition: sip.h:62
Structure for Accept-Contact and Reject-Contact header fields.
Definition: sip.h:654
sip_contact_t * sip_contact
Contact (m)
Definition: sip.h:254
char const * ac_subtype
Points after first slash in type.
Definition: sip.h:404
sip_accept_contact_t * sip_accept_contact
Accept-Contact (a)
Definition: sip.h:261
char const * v_branch
Value of "branch" parameter.
Definition: sip.h:764
sip_via_t * sip_via
Via (v)
Definition: sip.h:244
msg_param_t const * sa_params
List of mechanism parameters.
Definition: sip.h:779
sip_error_t * mf_next
Link to next (dummy)
Definition: sip.h:561
msg_list_t sip_content_encoding_t
The structure sip_content_encoding_t contains representation of an Content-Encoding header...
Definition: sip.h:152
msg_unknown_t sip_unknown_t
The structure sip_unknown_t contains representation of unknown headers.
Definition: sip.h:135
sip_event_t * sip_event
Event (o)
Definition: sip.h:289
msg_param_t * rd_items
List of directives.
Definition: sip.h:648
PRACK.
Definition: sip.h:58
sip_min_expires_t * sip_min_expires
Min-Expires.
Definition: sip.h:268
sip_organization_t * sip_organization
Organization.
Definition: sip.h:274
Structure for Route and Record-Route header fields.
Definition: sip.h:680
char const * st_phrase
Status phrase.
Definition: sip.h:375
sip_subject_t * sip_subject
Subject (s)
Definition: sip.h:270
sip_error_t * rp_next
Link to next (dummy)
Definition: sip.h:620
sip_error_t * ex_next
Link to next (dummy)
Definition: sip.h:549
Structure for Expires header.
Definition: sip.h:546
Structure for Event header.
Definition: sip.h:534
sip_authentication_info_t * sip_authentication_info
Authentication-Info.
Definition: sip.h:304
sip_security_server_t * sip_security_server
Security-Server.
Definition: sip.h:325
unsigned long rs_response
Sequence number of response.
Definition: sip.h:696
sip_method_t rq_method
Method enum.
Definition: sip.h:360
char const * r_display
Display name.
Definition: sip.h:684
unsigned long x_delta
Delta-seconds.
Definition: sip.h:706
sip_privacy_t * sip_privacy
Privacy.
Definition: sip.h:328
sip_content_length_t * sip_content_length
Content-Length (l)
Definition: sip.h:341
sip_accept_language_t * sip_accept_language
Accept-Language.
Definition: sip.h:281
Unknown method, use method_name.
Definition: sip.h:50
sip_error_t * me_next
Link to next (dummy)
Definition: sip.h:571