2h(6dZddlmZmZmZmZddlTddlTddlTddl Tddl m Z m Z m Z mZmZddlmZmZddlmZddlTddlZddlmZid d d d d ddddddddddddddddddd d!d"d#d$d%d&d'd(d)d*d+d,d-d.d/d0ZGd1d2eZGd3d4eZGd5d6eZGd7d8eZGd9d:eZ Gd;deZ"Gd?d@eZ#GdAdBe$Z%dCdDdEdFiZ&GdGdHe'Z(dS)Iz/ Various constants from 3GPP TS 31.103 V18.1.0 )StructSwitchthis GreedyString)*)EF_ADEF_SMSEF_SMSSEF_SMSREF_SMSP)ADF_USIMEF_FromPreferred)EF_UServiceTableN)EF_ARRzP-CSCF addressz(Generic Bootstrapping Architecture (GBA)z HTTP Digestz+GBA-based Local Key Establishment Mechanismz3Support of P-CSCF discovery for IMS Local Break OutzShort Message Storage (SMS)z#Short Message Status Reports (SMSR)zVSupport for SM-over-IP including data download via SMS-PP as defined in TS 31.111 [31] z%Communication Control for IMS by ISIM zSupport of UICC access to IMS zURI support by UICC zMedia Type support zIMS call disconnection causez(URI support for MO SHORT MESSAGE CONTROLMCPTTzAURI support for SMS-PP DOWNLOAD as defined in 3GPP TS 31.111 [31]zFrom PreferredzIMS configuration datazXCAP Configuration Dataz WebRTC URIzMuD and MiD configuration datazIMS Data Channel indication)cNeZdZdddifgZGddedZd fd ZxZS) EF_IMPIf803137333830303630303030303031303140696d732e6d6e633030302e6d63633733382e336770706e6574776f726b2e6f7267naiz1738006000000101@ims.mnc000.mcc738.3gppnetwork.orgc$eZdZeeZdS) EF_IMPI.naiN__name__ __module__ __qualname__ Utf8Adapter GreedyBytes _construct=/home/jenkins/workspace/simtester-sanitize/pySim/ts_31_103.pyr+r-F [-- r6tag6f02rEF.IMPIIMS private user identityc ftjd||||d|tj|_dSNfidsfidnamedescr5)super__init__r)r+_tlvselfrBrCrDrEkwargs __class__s r7rGzEF_IMPI.__init__Is8LSt$TLLVLLLK r6)r<rr=r>)r/r0r1_test_de_encode BER_TLV_IEr+rG __classcell__rLs@r7r)r)@s r F H KO .....jd....          r6r)cNeZdZdddifgZGddedZd fd ZxZS) EF_DOMAINF8021696d732e6d6e633030302e6d63633733382e336770706e6574776f726b2e6f7267domainz!ims.mnc000.mcc738.3gppnetwork.orgc$eZdZeeZdS)EF_DOMAIN.domainNr.r5r6r7rTrVSr8r6r9r:6f03r EF.DOMAINHome Network Domain Namec ftjd||||d|tj|_dSr@)rFrGrRrTrHrIs r7rGzEF_DOMAIN.__init__Vs9LSt$TLLVLLL$ r6)rWrrXrY)r/r0r1rMrNrTrGrOrPs@r7rRrRNs R 9 ; >O.........%%%%%%%%%%r6rRcNeZdZdddifgZGddedZd fd ZxZS) EF_IMPUn80357369703a37333830303630303030303031303140696d732e6d6e633030302e6d63633733382e336770706e6574776f726b2e6f7267impuz5sip:738006000000101@ims.mnc000.mcc738.3gppnetwork.orgc$eZdZeeZdS) EF_IMPU.impuNr.r5r6r7r^r``r8r6r9r:6f04rEF.IMPUIMS public user identityc ftjd||||d|tj|_dSr@)rFrGr\r^rHrIs r7rGzEF_IMPU.__init__cs8LSt$TLLVLLLL r6)rarrbrc)r/r0r1rMrNr^rGrOrPs@r7r\r\[s z K M PO.....zt....!!!!!!!!!!r6r\c\eZdZfdZedGddeZxZS)EF_ISTc tdddddt|xj|gz c_dS)N6f07rzEF.ISTzISIM Service Table)rN)rFrG EF_IST_mapshell_commandsAddlShellCommands)rJrKrLs r7rGzEF_IST.__init__isP x1EyR\]]]  6 6 8 899r6zFile-Specific Commandsc0eZdZfdZdZdZdZxZS)EF_IST.AddlShellCommandscHtdSN)rFrGrJrLs r7rGz!EF_IST.AddlShellCommands.__init__ps GG       r6c||jjj}||jt |ggdS)z Activate a service within EF.ISTN_cmdlchan selected_file ust_updateintrJargrus r7do_ist_service_activatez0EF_IST.AddlShellCommands.do_ist_service_activatess6 IO9M  $ $TYS B ? ? ? ? ?r6c||jjj}||jgt |gdS)z"Deactivate a service within EF.ISTNrrrxs r7do_ist_service_deactivatez2EF_IST.AddlShellCommands.do_ist_service_deactivatexs6 IO9M  $ $TYSXXJ ? ? ? ? ?r6c|jjj}||j}|jd|zdS)aCheck consistency between services of this file and files present/activated. Many services determine if one or multiple files shall be present/activated or if they shall be absent/deactivated. This performs a consistency check to ensure that no services are activated for files that are not - and vice-versa, no files are activated for services that are not. Error messages are printed for every inconsistency found.z/===> %u service / file inconsistencies detectedN)rsrtruust_service_checkpoutput)rJryru num_problemss r7do_ist_service_checkz-EF_IST.AddlShellCommands.do_ist_service_check}sH!IO9M(::49EEL I  OR^^ _ _ _ _ _r6)r/r0r1rGrzr|rrOrPs@r7rkrmnsr      @ @ @  @ @ @ ` ` ` ` ` ` `r6rk)r/r0r1rGwith_default_category CommandSetrkrOrPs@r7rfrfhs::::: 344`````J``54`````r6rfcteZdZdddddifdddddifd dd d difgZGd d edZdfd ZxZS)EF_PCSCF\802c0070637363662e696d732e6d6e633030302e6d63633733382e7075622e336770706e6574776f726b2e6f7267 pcscf_addressz+pcscf.ims.mnc000.mcc738.pub.3gppnetwork.orgFQDN)addresstype_of_address800501c0a80c22z 192.168.12.34IPv4&801102fe800000000000000042d7fffe530335zfe80::42:d7ff:fe53:335IPv6c eZdZedeedddz deeje e e e e e dz Z dS)EF_PCSCF.PcscfAddressrrrr)rrrrN)r/r0r1rEnumByterrrr2r3 Ipv4Adapter Ipv6Adapterr4r5r6r7 PcscfAddressrsV-dd4aaa.P.P.PP%ffT-A6Ak+6N6N6Ak+6N6N6Ak+6N6N.P.P'Q'QQRR r6rr9r:6f09N EF.P-CSCFP-CSCF Addressc ftjd||||d|tj|_dSr@)rFrGrrrHrIs r7rGzEF_PCSCF.__init__s9LSt$TLLVLLL) r6)rNrr)r/r0r1rMrNrrGrOrPs@r7rrs h )Vkqss u x  VUU W Z 2 )AV\^^ ` c ORRRRRztRRRR**********r6rc eZdZdfd ZxZS)EF_GBABP6fd5NEF.GBABPGBA Bootstrappingc tjd||||d|tdtz dtz dtz |_dS)NrArandb_tid key_lifetimer5)rFrGrLVr4rIs r7rGzEF_GBABP.__init__sULSt$TLLVLLL !(!/!244r6)rNrrr/r0r1rGrOrPs@r7rrs=4444444444r6rceZdZGddedZGddedZGdd eeeg Zdfd ZxZ S)EF_GBANLc eZdZedeeejjdz z dedz Z dS)EF_GBANL.NAF_IDfqdnrua_spiN) r/r0r1rr2Bytesr_ total_lenr4r5r6r7NAF_IDrsTVF;;uuTV5Ea5G/H/H#I#II$UU1XX-// r6rr9r:c$eZdZeeZdS)EF_GBANL.B_TIDNr.r5r6r7B_TIDrr8r6rceZdZdS)EF_GBANL.GbaNlCollectionN)r/r0r1r5r6r7GbaNlCollectionrs r6r)nested6fd7NEF.GBANL GBA NAF Listc ftjd||||d|tj|_dSr@)rFrGrrrHrIs r7rGzEF_GBANL.__init__s9LSt$TLLVLLL, r6)rNrr) r/r0r1rNrrTLV_IE_CollectionrrGrOrPs@r7rrs/////////..... ....     +VUO    ----------r6rcXeZdZdddifdddifgZGdded Zdfd ZxZS) EF_NAFKCAV80296273662e696d732e6d6e633030302e6d63633733382e7075622e336770706e6574776f726b2e6f7267naf_key_centre_addressz)bsf.ims.mnc000.mcc738.pub.3gppnetwork.orgd8030656e65746e61667830312e696d732e6d6e633030302e6d63633733382e7075622e336770706e6574776f726b2e6f7267z0enetnafx01.ims.mnc000.mcc738.pub.3gppnetwork.orgc$eZdZeeZdS)EF_NAFKCA.NafKeyCentreAddressNr.r5r6r7NafKeyCentreAddressrr8r6rr9r:6fddN EF.NAFKCANAF Key Centre Addressc ftjd||||d|tj|_dSr@)rFrGrrrHrIs r7rGzEF_NAFKCA.__init__s9LSt$TLLVLLL1 r6)rNrr)r/r0r1rMrNrrGrOrPs@r7rrs b $&Q S V p $&X Z \O .....jd....2222222222r6rc*eZdZ dfd ZdZxZS) ADF_ISIMa0000000871004TADF.ISIMNISIM ApplicationcHt||||||ttt t t ddttdtdtdtdtdtdtdtd t!d t#d t%d t'd t)dt+dt-dt/dg}|||xjt5jgz c_dS)N)aidhas_fsrBrCrDrE6f06rr)servicer)rr)rrrrr"r#r$r%r&r')rFrGr)rRr\rrrfrrrrr r r r EF_UICCIARIrEF_IMSConfigDataEF_XCAPConfigData EF_WebRTCURIEF_MuDMiDConfigData EF_AC_GBAUAPI EF_IMSDCI add_filesrjr rk) rJrrrDrBrCrEfilesrLs r7rGzADF_ISIM.__init__s| SSt$UYZZZ II KK II GG 64 HH Q    Q    Q    a 5 ! ! ! E " " " E " " " A     # # # R ( ( ( R ( ( ( b ) ) )  $ $ $  + + + ! $ $ $ b ! ! !- 0 u  : < <==r6cJtjj|Sro)pySim ts_102_221CardProfileUICCdecode_select_response)rJdata_hexs r7rzADF_ISIM.decode_select_responses/FFxPPPr6)rTrNNr)r/r0r1rGrrOrPs@r7rrsZZ^(>>>>>>@QQQQQQQr6rzSecurity managementz#Authentication error, incorrect MACz4Authentication error, security context not supported)98629864ceZdZfdZxZS)CardApplicationISIMcrtdttdS)NISIM)adfsw)rFrGrsw_isimrps r7rGzCardApplicationISIM.__init__s, XZZG<<<<rs,988888888888DDDDDDDDDDDDDD66666666444444$$$$######1}4  <  $ ,_.'&2 K!"#$ !!(%- 4      m     % % % % % % % % ! ! ! ! !j ! ! !````` ```D*****z****44444}444 - - - - -z - - - 2 2 2 2 2 2 2 2"Q"Q"Q"Q"Qw"Q"Q"QN5F =====/=====r6