19.1 SIP and SIPS Uniform Resource Indicators
19.1.1 SIP and SIPS URI Components
19.1.2 Character Escaping Requirements
19.1.3 Example SIP and SIPS URIs
19.1.5 Forming Requests from a URI
19.1.6 Relating SIP URIs and tel URLs
19.1 SIP and SIPS Uniform Resource Indicators#
SIP, SIPS URI는 communications resource를 나타냄
SIPS URI는 resource와 scure하게 연결
19.1.1 SIP and SIPS URI Components#
user
- userinfo는 user field, password, @으로 구성
- userinfo가 생략 될 수도 있음
password
- user와 연관된 password
- 사용 추천 되지 않음
host
- SIP resource를 제공하는 호스트
- FQDN, IPv4, IPv6가 올 수 있음
port
URI parameters
- request에 영향을 주는 파라매터들
- semi-colons으로 구별 됨
- 파라매터 폼은 다음과 같음 : parameter-name "=" parameter-value
- transport, maddr, ttl, user, method and lr parameters
Headers
- URI에 ? 이후에 옴
- & 로 구별
- hname = hvalue 쌍으로 구성
19.1.2 Character Escaping Requirements#
SIP URI는 ""%" HEX HEX" 메카니즘을 사용하여 escaping 함
telephone-subscriber은 특별히 escaping에 고려되어야 함
host component는 escaping 하지 않음
19.1.3 Example SIP and SIPS URIs#
sip:alice:secretword@atlanta.com;transport=tcp
sips:alice@atlanta.com?subject=project%20x&priority=urgent <- escaping 됨
sip:+1-212-555-1212:1234@gateway.com;user=phone
sips:1212@gateway.com
sip:alice@192.0.2.4
sip:atlanta.com;method=REGISTER?to=alice%40atlanta.com <- escaping 됨
sip:alice;day=tuesday@atlanta.com
19.1.4 URI Comparison#
SIP와 SIPS URI는 같지 않음
userinfo는 대소문자 구분함
header field의 순서는 의미 없음
"reserved" set과 ""%" HEX HEX" encoding은 동일함
user, password, host, and port 반드시 일치하여야 함
component가 생략된 것과 default 값을 가지는 것은 다름
uri-parameter components의 비교는 다음과 같음
- URI에 나타난 uri-parameter 매치가 되어야 함
- user, ttl, or method uri-parameter는 default 값을 가지더라도 한쪽만 나타나면 안됨
- 한쪽만 maddr 파라매터를 가지면 안됨
- 다른 uri-parameter들은 비교하지 않음
URI header components는 양쪽 URI에 다 나타나고 매칭 되어야 함
다음 URI들은 같음음
sip:%61lice@atlanta.com;transport=TCP
sip:alice@AtLanTa.CoM;Transport=tcp
sip:carol@chicago.com
sip:carol@chicago.com;newparam=5
sip:carol@chicago.com;security=on
sip:biloxi.com;transport=tcp;method=REGISTER?to=sip:bob%40biloxi.com
sip:biloxi.com;method=REGISTER;transport=tcp?to=sip:bob%40biloxi.com
sip:alice@atlanta.com?subject=project%20x&priority=urgent
sip:alice@atlanta.com?priority=urgent&subject=project%20x
sip:carol@chicago.com and sip:carol@chicago.com;security=on
sip:carol@chicago.com and sip:carol@chicago.com;security=off
다음 URI들은 다름
SIP:ALICE@AtLanTa.CoM;Transport=udp (different usernames)
sip:alice@AtLanTa.CoM;Transport=UDP
sip:bob@biloxi.com (can resolve to different ports)
sip:bob@biloxi.com:5060
sip:bob@biloxi.com (can resolve to different transports)
sip:bob@biloxi.com;transport=udp
sip:bob@biloxi.com (can resolve to different port and transports)
sip:bob@biloxi.com:6000;transport=tcp
sip:carol@chicago.com (different header component)
sip:carol@chicago.com?Subject=next%20meeting
sip:bob@phone21.boxesbybob.com (even though that's what
sip:bob@192.0.2.4 phone21.boxesbybob.com resolves to)
sip:carol@chicago.com;security=on
sip:carol@chicago.com;security=off
19.1.5 Forming Requests from a URI#
URI를 이용하여 request를 생성하는 방법
19.1.6 Relating SIP URIs and tel URLs#
tel URI를 SIP URI로 변환 하는 방법
tel URL의 telephone-subscriber portion을 SIP 또는 SIPS URI의 userinfo로 넣음
- tel URL의 파라매터를 소문자로
- tel URL의 파라매터 순서를 맞춰야 함
19.2 Option Tags#
새로운 SIP 옵션에 대한 unique indentifier임
19.3 Tags#
To와 Form header field에서 tag가 사용
Call-ID, To tag, From tag를 이용하여 dialog ID 생성
자신 자신이 session을 생성할 때 To tag와 From tag는 달라야 함
global unique한 tag 생성은 fault tolerant 시스템에 도움을 줌줌
'Protocol > SIP' 카테고리의 다른 글
DTMF Event (0) | 2013.09.25 |
---|---|
22. Usage of HTTP Authentication (0) | 2013.09.25 |
18. Transport (0) | 2013.09.25 |
17. Transactions (0) | 2013.09.25 |
16. Proxy Behavior (0) | 2013.09.25 |