SIP URI - 小蘿蔔工作室Little Robot Studio

文章推薦指數: 80 %
投票人數:10人

SIP URI. SIP 最基本的URI scheme 是sip:,可加密升級為sips: 使用TLS,類似email 格式,用在SIP 請求行及信頭值等: sip:user:password@host:port ... 2021年12月12日星期日 SIPURI SIP最基本的URIscheme是sip:,可加密升級為sips:使用TLS,類似email格式,用在SIP請求行及信頭值等: sip:user:password@host:port;uri-parameter?header 其中只有host是必要的。

整個可拆成四個部份: user[:password]@:也就是userinfo,有「@」表示有user,是在host的特定資源。

password是user的密碼,但有安全疑慮不建議使用。

user可以是電話號碼,可用uri參數user=phone特別標示。

host[:port]:host可以是網域名稱或數字IP網址,可包含port。

;uri-parameter:可有多個,每個以「;」開始,格式是名稱=值,名稱不能重複。

?header:「?」表示有 header,每個用「&」格開。

ABNF格式: SIP-URI="sip:"[userinfo]hostporturi-parameters[headers] SIPS-URI="sips:"[userinfo]hostporturi-parameters[headers] 用戶資訊分大小寫,可用user或telephone-subscriber。

userinfo=(user/telephone-subscriber)[":"password]"@" user=1*(unreserved/escaped/user-unreserved) user-unreserved="&"/"="/"+"/"$"/","/";"/"?"/"/" user大多字元都可以使用,即使「,」「;」「?」也可以,只要@前都是用戶資訊,所以不能使用@,「:」表示有密碼也不行,可用「%跳脫」。

password=*(unreserved/escaped/ "&"/"="/"+"/"$"/",") 密碼也大多字元都可以使用,只比user少了「;」「?」和「/」。

telephone-subscriber來自是telURI的整個telephone-subscriber,用來表示電話號碼,可視為user的特例,可用uri參數user=phone明確表示是telephone-subscriber。

telephone-subscriber可能包括「;」開頭的參數,「;」在user是合法的,和hostport之後的uri參數是不同的。

,但在telURI,telephone-subscriber是不分大小寫的,且參數不同順序是相同的,轉換成SIP/SIPSURI需換成小寫、參數除了isub先排以外要排序,這樣辨別相同URI才會一致。

例如: tel:+358-555-1234567;tsp=a.b;phone-context=5 變成 sip:+358-555-1234567;phone-context=5;[email protected];user=phone hostport可以是網域名稱或IP網址,可包含port。

hostport=host[":"port] host=hostname/IPv4address/IPv6reference hostname=*(domainlabel".")toplabel["."] domainlabel=alphanum/alphanum*(alphanum/"-")alphanum toplabel=ALPHA/ALPHA*(alphanum/"-")alphanum IPv4address=1*3DIGIT"."1*3DIGIT"."1*3DIGIT"."1*3DIGIT IPv6reference="["IPv6address"]" IPv6address=hexpart[":"IPv4address] hexpart=hexseq/hexseq"::"[hexseq]/"::"[hexseq] hexseq=hex4*(":"hex4) hex4=1*4HEXDIG port=1*DIGIT URI參數 uri-parameters=*(";"uri-parameter) headers="?"header*("&"header) URI參數和信頭參數是不同的東西。

整個URI可作為addr-spec,可用到「,」、「?」、和「;」,但為了跟信頭參數的「;」區別,整個URI需要用<>包起來成為name-addr。

URI參數,有transport、maddr、ttl、user、method、lr等: uri-parameter=transport-param/user-param/method-param /ttl-param/maddr-param/lr-param/other-param transport-param="transport=" ("udp"/"tcp"/"sctp"/"tls" /other-transport) other-transport=token user-param="user="("phone"/"ip"/other-user) other-user=token method-param="method="Method ttl-param="ttl="ttl maddr-param="maddr="host lr-param="lr" other-param=pname["="pvalue] pname=1*paramchar pvalue=1*paramchar paramchar=param-unreserved/unreserved/escaped param-unreserved="["/"]"/"/"/":"/"&"/"+"/"$" header格式: header= hname"="hvalue hname= 1*(hnv-unreserved/unreserved/escaped) hvalue= *(hnv-unreserved/unreserved/escaped) hnv-unreserved= "["/"]"/"/"/"?"/":"/"+"/"$" 其它schemeURI,可以是網路路徑、絕對路徑等。

absoluteURI=scheme":"(hier-part/opaque-part) scheme=ALPHA*(ALPHA/DIGIT/"+"/"-"/".") hier-part=(net-path/abs-path)["?"query] net-path="//"authority[abs-path] authority=srvr/reg-name srvr=[[userinfo"@"]hostport] reg-name=1*(unreserved/escaped/"$"/"," /";"/":"/"@"/"&"/"="/"+") query=*uric abs-path="/"path-segments opaque-part=uric-no-slash*uric uric=reserved/unreserved/escaped uric-no-slash=unreserved/escaped/";"/"?"/":"/"@" /"&"/"="/"+"/"$"/"," path-segments=segment*("/"segment) segment=*pchar*(";"*pchar) pchar=unreserved/escaped/ ":"/"@"/"&"/"="/"+"/"$"/"," 參考 RFC3261§19.1 SIP/SIPSURLfollowRFC3986guideline 張貼者: ijon 於 上午8:02 以電子郵件傳送這篇文章BlogThis!分享至Twitter分享至Facebook分享到Pinterest 標籤: SIP 沒有留言: 張貼留言 較新的文章 較舊的文章 首頁 訂閱: 張貼留言(Atom) 標籤 心法 手機 音 電 電腦 電話 圖 影 翻譯 Arduino asm Asterisk BBB blackfin C coLinux Desktop Device DSP Embedded Firefox git ISDN kamailio Kernel Lego Linux Linux-Kernel Linux-Kernel-Network Linux-Network Linux-System lua LXDE MIPS Network NXT NXT-G OpenWrt Programming Protocol ramips Raspberry-Pi Shell SIP SQLite ssh svn System TOC Tools Ubuntu USB vim VirtualBox Web Windows Wireless x86 網頁 首頁 主題 熱門文章 PrecisionTimeProtocol 精確時間協定(PrecisionTimeProtocol,PTP)透過網路封包同步絕對時間、頻率、和相位,達到毫秒級精確度。

版本IEEE1588-2002(PTPv1):未廣泛採用。

IEEE1588-2008(PTPv2):沒向前相容。

有p... IPMulticast 有些應用需要進行一對多或多對多的封包傳送,例如網路廣播電台、網路電視廣播。

如果封包使用unicast單點傳送的方式,傳送端需要先知道所有傳送的對象,一個一個傳送,對傳送端負擔較大,也需要很多倍的網路頻寬。

封包的broadcast廣播通常會侷限在本地區域網路內,如果開放到網... ARPandGratuitousARP Ethernet是靠MAC位址傳送封包,傳送IP封包給對方IP位址,還需要知道對方MAC位址才能傳送。

ARP(AddressResolutionProtocol)就是用來詢問對方MAC位址的協定,包括ARPrequest跟ARPrep... RFC5424SyslogMessageFormat 廣為使用的syslog來自BSD,訊息格式並沒有標準化,共通點只有都是以「」開始。

RFC3164只是說明觀察到的格式,認定送到syslogUDPport(514)的封包都是syslog訊息。

RFC5424用ANBF... Ethernet封包格式與長度 ←84-1538octets→←72-1526octets→Preamble10101010Start-of-Frame-Delimiter10101011EthernetFrameInterframegap7octets1... FSKCIDFormat CallerID(calleridentification,CID)有多種翻譯或別名:來電顯示、來電號碼顯示、CLID(CallerLineIdentityDisplay),CLI(callinglineidentification)、callingn... OpenWrtprocd OpenWrt使用procd取代傳統Linux使用的init及udev。

procd原始碼除了套件procd外,還包括套件procd-ujail、procd-seccomp、procd-nand、procd-nand-firstboot。

procd... JTAG JTAG(JointTestActionGroup)是一個在1985年成立的電子工業協會,致力於發展產品製造後如何驗證設計及測試印刷電路板接線的方法。

在1990年結果寫成IEEEStandard1149.1-1990,標題是「StandardTestA... gitdescribe 用最近的tag及其間隔的送交數目來描述一個送交,格式是--g,後面可以選擇加是否dirty。

前面的g代表git,用來區別SCM。

指令格式... Linuxdevicenumber devicenumber由majornumber和minornumber組成[註1]。

major號碼識別使用的驅動程式,例如/dev/null和/dev/zero使用driver1、virtualconsoles和serialter... 網誌存檔 ►  2022 (22) ►  五月 (13) ►  三月 (5) ►  二月 (3) ►  一月 (1) ▼  2021 (67) ▼  十二月 (3) telURI SIPURI WindowsSubsystemforLinux ►  十一月 (3) ►  十月 (5) ►  九月 (4) ►  八月 (4) ►  七月 (7) ►  六月 (4) ►  五月 (3) ►  四月 (1) ►  三月 (10) ►  二月 (1) ►  一月 (22) ►  2020 (66) ►  十二月 (8) ►  十一月 (15) ►  十月 (8) ►  九月 (2) ►  八月 (4) ►  七月 (4) ►  六月 (8) ►  五月 (3) ►  四月 (4) ►  三月 (9) ►  一月 (1) ►  2019 (53) ►  十二月 (3) ►  十一月 (10) ►  十月 (10) ►  九月 (7) ►  八月 (2) ►  七月 (2) ►  六月 (5) ►  五月 (1) ►  四月 (1) ►  三月 (3) ►  二月 (5) ►  一月 (4) ►  2018 (35) ►  十二月 (4) ►  十一月 (4) ►  十月 (2) ►  九月 (2) ►  八月 (8) ►  七月 (10) ►  六月 (1) ►  四月 (1) ►  三月 (2) ►  二月 (1) ►  2017 (14) ►  十一月 (3) ►  十月 (6) ►  九月 (2) ►  八月 (3) ►  2016 (14) ►  九月 (2) ►  八月 (2) ►  七月 (2) ►  二月 (5) ►  一月 (3) ►  2015 (38) ►  十二月 (4) ►  十一月 (3) ►  九月 (4) ►  八月 (8) ►  四月 (3) ►  二月 (12) ►  一月 (4) ►  2014 (71) ►  十二月 (5) ►  十一月 (6) ►  十月 (1) ►  九月 (16) ►  八月 (3) ►  七月 (7) ►  六月 (7) ►  五月 (11) ►  四月 (6) ►  三月 (1) ►  二月 (2) ►  一月 (6) ►  2013 (60) ►  十二月 (5) ►  十一月 (19) ►  十月 (3) ►  八月 (13) ►  七月 (6) ►  三月 (1) ►  二月 (12) ►  一月 (1) ►  2012 (31) ►  十二月 (1) ►  十一月 (14) ►  十月 (4) ►  九月 (3) ►  八月 (3) ►  四月 (2) ►  三月 (2) ►  一月 (2) ►  2011 (17) ►  十二月 (5) ►  十月 (1) ►  二月 (2) ►  一月 (9) ►  2010 (75) ►  十二月 (4) ►  十一月 (5) ►  十月 (13) ►  九月 (1) ►  八月 (4) ►  七月 (2) ►  六月 (11) ►  五月 (5) ►  四月 (12) ►  三月 (7) ►  二月 (10) ►  一月 (1) ►  2009 (23) ►  十二月 (5) ►  十一月 (3) ►  十月 (4) ►  九月 (1) ►  八月 (5) ►  七月 (5) ►  2008 (2) ►  七月 (1) ►  二月 (1) ►  2007 (19) ►  十月 (1) ►  九月 (1) ►  八月 (2) ►  七月 (1) ►  六月 (2) ►  五月 (1) ►  三月 (3) ►  二月 (7) ►  一月 (1) ►  2006 (1) ►  十二月 (1)



請為這篇文章評分?