1、Information technology UPnP Device Architecture Part 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection service BS ISO/IEC 29341-24-10:2017 BSI Standards Publication WB11885_BSI_StandardCovs_2013_AW.indd 1 15/05/2013 15:06Information technology UPn
2、P Device Architecture Part 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection service Technologies de linformation Architecture de dispositif UPnP Partie 24-10: Protocole de contrle de dispositif de passerelle Internet Niveau 2 Protocole internet d
3、e rseau tendu Service de connexion INTERNATIONAL STANDARD ISO/IEC 29341-24-10 Reference number ISO/IEC 29341-24-10:2017(E) First edition 2017-09 ISO/IEC 2017 National foreword This British Standard is the UK implementation of ISO/IEC 29341-24-10:2017. The UK participation in its preparation was entr
4、usted to Technical 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 a
5、pplication. The British Standards Institution 2017 Published by BSI Standards Limited 2017 ISBN 978 0 580 90854 5 ICS 35.200 Compliance with a British Standard cannot confer immunity from legal obligations. This British Standard was published under the authority of the Standards Policy and Strategy
6、Committee on 30 September 2017. Amendments/corrigenda issued since publication Date Text affected BRITISH STANDARD BS ISO/IEC 293412410:2017Information technology UPnP Device Architecture Part 24-10: Internet gateway device control protocol Level 2 Wide area network internet protocol Connection serv
7、ice Technologies de linformation Architecture de dispositif UPnP Partie 24-10: Protocole de contrle de dispositif de passerelle Internet Niveau 2 Protocole internet de rseau tendu Service de connexion INTERNATIONAL STANDARD ISO/IEC 29341-24-10 Reference number ISO/IEC 29341-24-10:2017(E) First editi
8、on 2017-09 ISO/IEC 2017 BS ISO/IEC 293412410:2017 ii ISO/IEC 2017 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2017, Published in Switzerland All rights reserved. Unless otherwise specified, no part of this publication may be reproduced or utilized otherwise in any form or by any means,
9、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 requester. ISO copyright office Ch. de Blandonnet 8 CP 401 CH-1214
10、 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 copyrightiso.org www.iso.org ISO/IEC 29341-24-10:2017(E) BS ISO/IEC 293412410:2017 ii ISO/IEC 2017 All rights reserved COPYRIGHT PROTECTED DOCUMENT ISO/IEC 2017, Published in Switzerland All rights reserved. Unless otherwise sp
11、ecified, no part of this publication may be reproduced 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
12、 ISOs member body in the country of the requester. ISO copyright office Ch. de Blandonnet 8 CP 401 CH-1214 Vernier, Geneva, Switzerland Tel. +41 22 749 01 11 Fax +41 22 749 09 47 copyrightiso.org www.iso.org ISO/IEC 29341-24-10:2017(E) ISO/IEC 29341-24-10:2017(E) ISO/IEC 2017 All rights reserved iii
13、 CONTENTS 1 Scope 1 2 Normative references . 1 3 Terms, 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
14、Changes from WANIPConnection:1 . 6 5.2.1 Backward compatibility 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 Stat
15、e variables . 9 5.4.1 State variable overview . 9 5.4.2 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
16、NATEnabled 13 5.4.12 ExternalIPAddress . 13 5.4.13 PortMappingNumberOfEntries 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 PortMappingDescripti
17、on . 15 5.4.22 SystemUpdateID 15 5.4.23 A_ARG_TYPE_Manage 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
18、 5.5.3 Eventing of ExternalIPAddress . 18 5.5.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 RequestTerm
19、ination() . 23 5.6.5 ForceTermination() . 24 5.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
20、() 31 5.6.14 GetGenericPortMappingEntry() . 31 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 B
21、etween Actions . 45 5.6.23 Error Code Summary 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 relation
22、ships for NAT processing . 10 Figure 2 Example 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 t
23、ranslator 63 Figure A.2 NAT issue with bundled session applications 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 ConnectionS
24、tatus . 18 5.5.3 Eventing of ExternalIPAddress . 18 5.5.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 R
25、equestTermination() . 23 5.6.5 ForceTermination() . 24 5.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 GetNAT
26、RSIPStatus() 31 5.6.14 GetGenericPortMappingEntry() . 31 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 Relat
27、ionships Between Actions . 45 5.6.23 Error Code Summary 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 componen
28、t relationships for NAT processing . 10 Figure 2 Example 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
29、 address translator 63 Figure A.2 NAT issue with bundled 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 Connec
30、tionStatus state variable 11 Table 5 allowedValueList for 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 s
31、tate variable . 15 Table 9 Eventing and Moderation 17 Table 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 GetConnectionTypeIn
32、fo() . 22 Table 16 Error Codes for RequestConnection() . 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 SetIdleDisconn
33、ectTime() 26 Table 22 Error Codes for SetIdleDisconnectTime() 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(
34、) 28 Table 28 Error Codes for GetAutoDisconnectTime() 29 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 GetNATRSIPStat
35、us() . 31 Table 34 Error Codes for GetNATRSIPStatus() . 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 Ar
36、guments for AddPortMapping() 35 Table 40 Error Codes for 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
37、() 41 Table 44 Error Codes for DeletePortMapping() 41 Table 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 GetListOfPortMa
38、ppings() 44 Table 50 Error Codes for GetListOfPortMappings() 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 DeletePo
39、rtMapping() 41 Table 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 Ge
40、tListOfPortMappings() 45 Table 51 Error Code Summary 46 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 IE C (the International Electrotechnical Commission) form the specialize
41、d system for wo rldwide standardization. National bodies that are members of ISO or IEC participate in t he development of International Standards through technical committees established by the respective organization to deal with particular fields of technical activity. ISO and IEC technical commi
42、ttees collaborate in fields of mutual interest. Other inte rnational 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 procedur
43、es used to develop this document and those intended for its 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
44、of the ISO/IEC Directives, Part 2 (see http:/www.iso.org/directives). 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 r
45、ights identified during the development of the document will 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
46、explanation on the voluntary nature of Standard, the meaning 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 informatio
47、n ISO/IEC 293412410 was prepared by UPnP Forum and adopted, 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 gener
48、al title Information technology UPnP Device Architecture, can 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
49、 the use of patents as indicated below. ISO and IEC take no 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 a