1、Information technology UPnP Device ArchitecturePart 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection serviceBS ISO/IEC 29341-24-10:2017BSI Standards PublicationWB11885_BSI_StandardCovs_2013_AW.indd 1 15/05/2013 15:06Information technology UPnP De
2、vice Architecture Part 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection serviceTechnologies de linformation Architecture de dispositif UPnP Partie 24-10: Protocole de contrle de dispositif de passerelle Internet Niveau 2 Protocole internet de rse
3、au tendu Service de connexionINTERNATIONAL STANDARDISO/IEC 29341-24-10Reference numberISO/IEC 29341-24-10:2017(E)First edition2017-09 ISO/IEC 2017National forewordThis British Standard is the UK implementation of ISO/IEC 29341-24-10:2017.The UK participation in its preparation was entrusted to Techn
4、ical Committee ICT/-/1, Information systems co-ordination.A list of organizations represented on this committee can be obtained on request to its secretary.This publication does not purport to include all the necessary provisions of a contract. Users are responsible for its correct application. The
5、British Standards Institution 2017 Published by BSI Standards Limited 2017ISBN 978 0 580 90854 5ICS 35.200Compliance with a British Standard cannot confer immunity from legal obligations.This British Standard was published under the authority of the Standards Policy and Strategy Committee on 30 Sept
6、ember 2017.Amendments/corrigenda issued since publicationDate Text affectedBRITISH STANDARDBS ISO/IEC 293412410:2017Information technology UPnP Device Architecture Part 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection serviceTechnologies de linfo
7、rmation Architecture de dispositif UPnP Partie 24-10: Protocole de contrle de dispositif de passerelle Internet Niveau 2 Protocole internet de rseau tendu Service de connexionINTERNATIONAL STANDARDISO/IEC 29341-24-10Reference numberISO/IEC 29341-24-10:2017(E)First edition2017-09 ISO/IEC 2017BS ISO/I
8、EC 293412410:2017ii ISO/IEC 2017 All rights reservedCOPYRIGHT PROTECTED DOCUMENT ISO/IEC 2017, Published in SwitzerlandAll rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means, electronic or mechanical, including
9、 photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the requester.ISO copyright officeCh. de Blandonnet 8 CP 401CH-1214 Vernier, Geneva, SwitzerlandTel. +41
10、22 749 01 11Fax +41 22 749 09 47copyrightiso.orgwww.iso.orgISO/IEC 29341-24-10:2017(E)BS ISO/IEC 293412410:2017ii ISO/IEC 2017 All rights reservedCOPYRIGHT PROTECTED DOCUMENT ISO/IEC 2017, Published in SwitzerlandAll rights reserved. Unless otherwise specified, no part of this publication may be rep
11、roduced or utilized otherwise in any form or by any means, electronic or mechanical, including photocopying, or posting on the internet or an intranet, without prior written permission. Permission can be requested from either ISO at the address below or ISOs member body in the country of the request
12、er.ISO copyright officeCh. de Blandonnet 8 CP 401CH-1214 Vernier, Geneva, SwitzerlandTel. +41 22 749 01 11Fax +41 22 749 09 47copyrightiso.orgwww.iso.orgISO/IEC 29341-24-10:2017(E)ISO/IEC 29341-24-10:2017(E) ISO/IEC 2017 All rights reserved iii CONTENTS 1 Scope 1 2 Normative references . 1 3 Terms,
13、definitions, symbols and abbreviated terms . 2 4 Notations and conventions . 4 4.1 Notation . 4 4.2 Data types 4 4.2.1 Primary data types 4 4.2.2 Secondary data types 5 4.3 Vendor-defined extensions 6 5 Service model 6 5.1 Service type . 6 5.2 Changes from WANIPConnection:1 . 6 5.2.1 Backward compat
14、ibility 6 5.2.2 Generic requirements and other changes . 6 5.2.3 New state variables . 6 5.2.4 New actions 6 5.2.5 Changes in existing actions and procedures 7 5.3 Service Architecture 7 5.3.1 Introduction . 7 5.3.2 Main feature sets 8 5.4 State variables . 9 5.4.1 State variable overview . 9 5.4.2
15、ConnectionType . 11 5.4.3 PossibleConnectionTypes 11 5.4.4 ConnectionStatus . 11 5.4.5 Uptime . 12 5.4.6 LastConnectionError 12 5.4.7 AutoDisconnectTime 12 5.4.8 IdleDisconnectTime 13 5.4.9 WarnDisconnectDelay 13 5.4.10 RSIPAvailable 13 5.4.11 NATEnabled 13 5.4.12 ExternalIPAddress . 13 5.4.13 PortM
16、appingNumberOfEntries 13 5.4.14 PortMappingEnabled 14 5.4.15 PortMappingLeaseDuration 14 5.4.16 RemoteHost . 14 5.4.17 ExternalPort . 14 5.4.18 InternalPort 15 5.4.19 PortMappingProtocol 15 5.4.20 InternalClient . 15 5.4.21 PortMappingDescription . 15 5.4.22 SystemUpdateID 15 5.4.23 A_ARG_TYPE_Manag
17、e 16 BS ISO/IEC 293412410:2017ISO/IEC 29341-24-10:2017(E) iv ISO/IEC 2017 All rights reserved 5.4.24 A_ARG_TYPE_PortListing 16 5.5 Eventing and Moderation . 17 5.5.1 Eventing of PossibleConnectionTypes 18 5.5.2 Eventing of ConnectionStatus . 18 5.5.3 Eventing of ExternalIPAddress . 18 5.5.4 Eventing
18、 of PortMappingNumberOfEntries 18 5.5.5 Eventing of SystemUpdateID 18 5.5.6 Relationships among State Variables 18 5.6 Actions 19 5.6.1 SetConnectionType() . 20 5.6.2 GetConnectionTypeInfo() . 21 5.6.3 RequestConnection() . 22 5.6.4 RequestTermination() . 23 5.6.5 ForceTermination() . 24 5.6.6 SetAu
19、toDisconnectTime() . 25 5.6.7 SetIdleDisconnectTime() 26 5.6.8 SetWarnDisconnectDelay() . 27 5.6.9 GetStatusInfo() 27 5.6.10 GetAutoDisconnectTime() 28 5.6.11 GetIdleDisconnectTime() 29 5.6.12 GetWarnDisconnectDelay() 30 5.6.13 GetNATRSIPStatus() 31 5.6.14 GetGenericPortMappingEntry() . 31 5.6.15 Ge
20、tSpecificPortMappingEntry() . 33 5.6.16 AddPortMapping() 34 5.6.17 AddAnyPortMapping() 38 5.6.18 DeletePortMapping() 40 5.6.19 DeletePortMappingRange() 42 5.6.20 GetExternalIPAddress() 43 5.6.21 GetListOfPortMappings() 44 5.6.22 Relationships Between Actions . 45 5.6.23 Error Code Summary 45 5.7 Ser
21、vice Behavioral Model 47 5.7.1 Connection Initiation 47 5.7.2 Connection Termination . 48 6 XML Service Description . 49 Annex A (informative) Theory of Operation . 61 Annex B (informative) Bibliography . 65 Figure 1 UPnP IGD component relationships for NAT processing . 10 Figure 2 Example of relati
22、onship between AddPortMapping() action and port triggering 35 Figure 3 Summary of AddPortMapping() results . 37 Figure 4 Summary of AddAnyPortMapping() results . 40 Figure 5 State diagram for IP connection . 47 Figure A.1 NAT is an IP address translator 63 Figure A.2 NAT issue with bundled session a
23、pplications 64 BS ISO/IEC 293412410:2017ISO/IEC 29341-24-10:2017(E) iv ISO/IEC 2017 All rights reserved 5.4.24 A_ARG_TYPE_PortListing 16 5.5 Eventing and Moderation . 17 5.5.1 Eventing of PossibleConnectionTypes 18 5.5.2 Eventing of ConnectionStatus . 18 5.5.3 Eventing of ExternalIPAddress . 18 5.5.
24、4 Eventing of PortMappingNumberOfEntries 18 5.5.5 Eventing of SystemUpdateID 18 5.5.6 Relationships among State Variables 18 5.6 Actions 19 5.6.1 SetConnectionType() . 20 5.6.2 GetConnectionTypeInfo() . 21 5.6.3 RequestConnection() . 22 5.6.4 RequestTermination() . 23 5.6.5 ForceTermination() . 24 5
25、.6.6 SetAutoDisconnectTime() . 25 5.6.7 SetIdleDisconnectTime() 26 5.6.8 SetWarnDisconnectDelay() . 27 5.6.9 GetStatusInfo() 27 5.6.10 GetAutoDisconnectTime() 28 5.6.11 GetIdleDisconnectTime() 29 5.6.12 GetWarnDisconnectDelay() 30 5.6.13 GetNATRSIPStatus() 31 5.6.14 GetGenericPortMappingEntry() . 31
26、 5.6.15 GetSpecificPortMappingEntry() . 33 5.6.16 AddPortMapping() 34 5.6.17 AddAnyPortMapping() 38 5.6.18 DeletePortMapping() 40 5.6.19 DeletePortMappingRange() 42 5.6.20 GetExternalIPAddress() 43 5.6.21 GetListOfPortMappings() 44 5.6.22 Relationships Between Actions . 45 5.6.23 Error Code Summary
27、45 5.7 Service Behavioral Model 47 5.7.1 Connection Initiation 47 5.7.2 Connection Termination . 48 6 XML Service Description . 49 Annex A (informative) Theory of Operation . 61 Annex B (informative) Bibliography . 65 Figure 1 UPnP IGD component relationships for NAT processing . 10 Figure 2 Example
28、 of relationship between AddPortMapping() action and port triggering 35 Figure 3 Summary of AddPortMapping() results . 37 Figure 4 Summary of AddAnyPortMapping() results . 40 Figure 5 State diagram for IP connection . 47 Figure A.1 NAT is an IP address translator 63 Figure A.2 NAT issue with bundled
29、 session applications 64 ISO/IEC 29341-24-10:2017(E) ISO/IEC 2017 All rights reserved v Table 1 CSV examples 5 Table 2 State Variables . 9 Table 3 allowedValueList for the ConnectionType state variable 11 Table 4 allowedValueList for the ConnectionStatus state variable 11 Table 5 allowedValueList fo
30、r the LastConnectionError state variable 12 Table 6 allowedValueRange for the PortMappingLeaseDuration state variable . 14 Table 7 allowedValueRange for the InternalPort state variable . 15 Table 8 allowedValueList for the PortMappingProtocol state variable . 15 Table 9 Eventing and Moderation 17 Ta
31、ble 10 Actions . 19 Table 11 Common parameters 19 Table 12 Arguments for SetConnectionType() . 20 Table 13 Error Codes for SetConnectionType() . 21 Table 14 Arguments for GetConnectionTypeInfo() . 21 Table 15 Error Codes for GetConnectionTypeInfo() . 22 Table 16 Error Codes for RequestConnection() .
32、 23 Table 17 Error Codes for RequestTermination(). 24 Table 18 Error Codes for ForceTermination() 25 Table 19 Arguments for SetAutoDisconnectTime() . 25 Table 20 Error Codes for SetAutoDisconnectTime() . 26 Table 21 Arguments for SetIdleDisconnectTime() 26 Table 22 Error Codes for SetIdleDisconnectT
33、ime() 27 Table 23 Arguments for SetWarnDisconnectDelay() 27 Table 24 Error Codes for SetWarnDisconnectDelay() 27 Table 25 Arguments for GetStatusInfo() 28 Table 26 Error Codes for GetStatusInfo() 28 Table 27 Arguments for GetAutoDisconnectTime() 28 Table 28 Error Codes for GetAutoDisconnectTime() 29
34、 Table 29 Arguments for GetIdleDisconnectTime() 29 Table 30 Error Codes for GetIdleDisconnectTime() 30 Table 31 Arguments for GetWarnDisconnectDelay() 30 Table 32 Error Codes for GetWarnDisconnectDelay() 30 Table 33 Arguments for GetNATRSIPStatus() . 31 Table 34 Error Codes for GetNATRSIPStatus() .
35、31 Table 35 Arguments for GetGenericPortMappingEntry() . 32 Table 36 Error Codes for GetGenericPortMappingEntry() . 33 Table 37 Arguments for GetSpecificPortMappingEntry() 33 Table 38 Error Codes for GetSpecificPortMappingEntry() 34 Table 39 Arguments for AddPortMapping() 35 Table 40 Error Codes for
36、 AddPortMapping() 37 Table 41 Arguments for AddAnyPortMapping() 38 Table 42 Error Codes for AddAnyPortMapping() 40 BS ISO/IEC 293412410:2017ISO/IEC 29341-24-10:2017(E) vi ISO/IEC 2017 All rights reserved Table 43 Arguments for DeletePortMapping() 41 Table 44 Error Codes for DeletePortMapping() 41 Ta
37、ble 45 Arguments for DeletePortMappingRange() 42 Table 46 Error Codes for DeletePortMappingRange() 43 Table 47 Arguments for GetExternalIPAddress() . 43 Table 48 Error Codes for GetExternalIPAddress() . 44 Table 49 Arguments for GetListOfPortMappings() 44 Table 50 Error Codes for GetListOfPortMappin
38、gs() 45 Table 51 Error Code Summary 46 Table A.1 Connection Procedures . 61 BS ISO/IEC 293412410:2017ISO/IEC 29341-24-10:2017(E) vi ISO/IEC 2017 All rights reserved Table 43 Arguments for DeletePortMapping() 41 Table 44 Error Codes for DeletePortMapping() 41 Table 45 Arguments for DeletePortMappingR
39、ange() 42 Table 46 Error Codes for DeletePortMappingRange() 43 Table 47 Arguments for GetExternalIPAddress() . 43 Table 48 Error Codes for GetExternalIPAddress() . 44 Table 49 Arguments for GetListOfPortMappings() 44 Table 50 Error Codes for GetListOfPortMappings() 45 Table 51 Error Code Summary 46
40、Table A.1 Connection Procedures . 61 ISO/IEC 29341-24-10:2017(E) ISO/IEC 2017 All rights reserved vii Foreword ISO (the International Organization for Standardization) and IEC (the International Electrotechnical Commission) form the specialized system for worldwide standardization. National bodies t
41、hat are members of ISO or IEC participate in the development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical committees collaborate in fields of mutual interest. Other inter
42、national organizations, governmental and nongovernmental, in liaison with ISO and IEC, also take part in the work. In the field of information technology, ISO and IEC have established a joint technical committee, ISO/IEC JTC 1. The procedures used to develop this document and those intended for its
43、further maintenance are described in the ISO/IEC Directives, Part 1. In particular the different approval criteria needed for the different types of document should be noted. This document was drafted in accordance with the editorial rules of the ISO/IEC Directives, Part 2 (see http:/www.iso.org/dir
44、ectives). Attention is drawn to the possibility that some of the elements of this document may be the subject of patent rights. ISO and IEC shall not be held responsible for identifying any or all such patent rights. Details of any patent rights identified during the development of the document will
45、 be in the Introduction and/or on the ISO list of patent declarations received (see www.iso.org/patents). Any trade name used in this document is information given for the convenience of users and does not constitute an endorsement. For an explanation on the voluntary nature of Standard, the meaning
46、 of the ISO specific terms and expressions related to conformity assessment, as well as information about ISOs adherence to the WTO principles in the Technical Barriers to Trade (TBT) see the following URL: Foreword Supplementary information ISO/IEC 293412410 was prepared by UPnP Forum and adopted,
47、under the PAS procedure, by joint technical committee ISO/IEC JTC 1, Information technology, in parallel with its approval by national bodies of ISO and IEC. The list of all currently available parts of ISO/IEC 29341 series, under the general title Information technology UPnP Device Architecture, ca
48、n be found on the ISO web site. BS ISO/IEC 293412410:2017ISO/IEC 29341-24-10:2017(E) viii ISO/IEC 2017 All rights reserved Introduction ISO and IEC draw attention to the fact that it is claimed that compliance with this document may involve the use of patents as indicated below. ISO and IEC take no
49、position concerning the evidence, validity and scope of these patent rights. The holders of -these patent rights have assured ISO and IEC that they are willing to negotiate licenses under reasonable and non-discriminatory terms and conditions with applicants throughout the world. In this respect, the statem