Archive for September, 2010
Asta ziceau cei de la Luna Amara acum ceva vreme in Asfalt. Mi s-a parut multa vreme foarte aiurea, apoi am vazut cum poti muri, desi te misti si pare ca esti viu. Sunt oameni care te omoara zi de zi, incetul cu incetul, ucigand incet-incet cu egoismul si indiferenta lor tot ce e frumos in personalitatea ta. 
Esti doar durere topindu-mi linisteaUrasc tot ce-ai facut din viata meaAsfaltInchide ochii si arunca-te in golE singura ta sansa s-arati ca ai controlTaci, nu vorbi. Nu vreau sa mai audNici urletul din mine stins pe asfaltul udBridge:Nu doar mortii stiu cum e sa moriN-ai sa zboriRefren:Ia-mi tot ce mi-ai datIa-mi tot ce-am visat (x2)Ca si cand m-ai fi ingropatBridge:Mi-e dor dor dorSa fiu iar intreg
Tags: media-culture, passion
Israel – day 1
IMS dumps
Continuing from 4G – GTPv2 dumps:
First of all, bare in mind that this is NOT the actual end-to-end testing procedure, so I can only show so far a basic IMS call coming from plain IP, therefore with no indication to the Access Network:
Register
The P-CSCF listens on port 4060 UDP (as we will see in the next episode, the configuration of the IMS Core), and the phone is on 5060:
Session Initiation ProtocolRequest-Line: REGISTER sip:open-ims.test SIP/2.0Method: REGISTERRequest-URI: sip:open-ims.testRequest-URI Host Part: open-ims.test[Resent Packet: False]Message HeaderCall-ID: [email protected]CSeq: 19 REGISTERSequence Number: 19Method: REGISTER\r\nFromFrom: <sip:[email protected]>;tag=1020SIP from address: sip:[email protected]SIP from address User Part: cristinaSIP from address Host Part: open-ims.testSIP tag: 1020To: <sip:[email protected]>SIP to address: sip:[email protected]SIP to address User Part: cristinaSIP to address Host Part: open-ims.testVia: SIP/2.0/UDP 40.0.0.1:5060;branch=z9hG4bK163b18a8645e3542f3430be441fc7021Transport: UDPSent-by Address: 40.0.0.1Sent-by port: 5060Branch: z9hG4bK163b18a8645e3542f3430be441fc7021Max-Forwards: 20Expires: 3600Contact: <sip:[email protected]:5060>Contact-URI: sip:[email protected]:5060Contactt-URI User Part: cristinaContact-URI Host Part: 40.0.0.1Contact-URI Host Port: 5060User-Agent: Fokus MONSTER Version: 0.9.9-SNAPSHOTContent-Length: 0
Session Initiation ProtocolStatus-Line: SIP/2.0 401 Unauthorized – Challenging the UEStatus-Code: 401Message HeaderCall-ID: [email protected]CSeq: 19 REGISTERSequence Number: 19Method: REGISTER\r\nFromFrom: <sip:[email protected]>;tag=1020SIP from address: sip:[email protected]SIP from address User Part: cristinaSIP from address Host Part: open-ims.testSIP tag: 1020To: <sip:[email protected]>;tag=d7837ce6bbd631122d10546eb75bb4cf-cb8cSIP to address: sip:[email protected]SIP to address User Part: cristinaSIP to address Host Part: open-ims.testSIP tag: d7837ce6bbd631122d10546eb75bb4cf-cb8cVia: SIP/2.0/UDP 40.0.0.1:5060;rport=5060;branch=z9hG4bK163b18a8645e3542f3430be441fc7021Transport: UDPSent-by Address: 40.0.0.1Sent-by port: 5060RPort: 5060Branch: z9hG4bK163b18a8645e3542f3430be441fc7021Path: <sip:[email protected]:4060;lr>Service-Route: <sip:[email protected]:6060;lr>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, PUBLISH, MESSAGE, INFOServer: Sip EXpress router (2.1.0-dev1 OpenIMSCore (i386/linux))Content-Length: 0Warning: 392 127.0.0.1:6060 “Noisy feedback tells: pid=19702 req_src_ip=127.0.0.1 req_src_port=5060 in_uri=sip:scscf.open-ims.test:6060 out_uri=sip:scscf.open-ims.test:6060 via_cnt==3″WWW-Authenticate: Digest realm=”open-ims.test”, nonce=”BgaX3TR54oTr38cLlKykVfaXmB8A2wAAxGSzQfrUAWU=”, algorithm=AKAv1-MD5, qop=”auth,auth-int”Authentication Scheme: Digestrealm=”open-ims.test”nonce=”BgaX3TR54oTr38cLlKykVfaXmB8A2wAAxGSzQfrUAWU=”algorithm=AKAv1-MD5qop=”auth
Session Initiation ProtocolRequest-Line: REGISTER sip:open-ims.test SIP/2.0Method: REGISTERRequest-URI: sip:open-ims.testRequest-URI Host Part: open-ims.test[Resent Packet: False]Message HeaderCall-ID: [email protected]CSeq: 20 REGISTERSequence Number: 20Method: REGISTER\r\nFromFrom: <sip:[email protected]>;tag=1021SIP from address: sip:[email protected]SIP from address User Part: cristinaSIP from address Host Part: open-ims.testSIP tag: 1021To: <sip:[email protected]>SIP to address: sip:[email protected]SIP to address User Part: cristinaSIP to address Host Part: open-ims.testVia: SIP/2.0/UDP 40.0.0.1:5060;branch=z9hG4bK84169db88bb0b4032667a8e0e81d2cbcTransport: UDPSent-by Address: 40.0.0.1Sent-by port: 5060Branch: z9hG4bK84169db88bb0b4032667a8e0e81d2cbcMax-Forwards: 20[truncated] Authorization: Digest username=”[email protected]”,uri=”sip:open-ims.test”,realm=”open-ims.test”,nonce=”BgaX3TR54oTr38cLlKykVfaXmB8A2wAAxGSzQfrUAWU=”",response=”edfe66ab211e300fea4da5bd308605c3″,algoritm=AKAv1-MD5,qop=auth-intAuthentication Scheme: Digestusername=”[email protected]”uri=”sip:open-ims.test”realm=”open-ims.test”nonce=”BgaX3TR54oTr38cLlKykVfaXmB8A2wAAxGSzQfrUAWU=”"response=”edfe66ab211e300fea4da5bd308605c3″algoritm=AKAv1-MD5qop=auth-intnc=00000001cnonce=”48525798509797101″Expires: 3600Contact: <sip:[email protected]:5060>Contact-URI: sip:[email protected]:5060Contactt-URI User Part: cristinaContact-URI Host Part: 40.0.0.1Contact-URI Host Port: 5060User-Agent: Fokus MONSTER Version: 0.9.9-SNAPSHOTContent-Length: 0
Session Initiation ProtocolStatus-Line: SIP/2.0 200 OK – SAR succesful and registrar savedStatus-Code: 200[Resent Packet: False][Request Frame: 81][Response Time (ms): 106]Message HeaderCall-ID: [email protected]CSeq: 20 REGISTERSequence Number: 20Method: REGISTER\r\nFromFrom: <sip:[email protected]>;tag=1021SIP from address: sip:[email protected]SIP from address User Part: cristinaSIP from address Host Part: open-ims.testSIP tag: 1021To: <sip:[email protected]>;tag=d7837ce6bbd631122d10546eb75bb4cf-3d08SIP to address: sip:[email protected]SIP to address User Part: cristinaSIP to address Host Part: open-ims.testSIP tag: d7837ce6bbd631122d10546eb75bb4cf-3d08Via: SIP/2.0/UDP 40.0.0.1:5060;rport=5060;branch=z9hG4bK84169db88bb0b4032667a8e0e81d2cbcTransport: UDPSent-by Address: 40.0.0.1Sent-by port: 5060RPort: 5060Branch: z9hG4bK84169db88bb0b4032667a8e0e81d2cbcP-Associated-URI: <sip:[email protected]>Contact: <sip:[email protected]:5060>;expires=3600Contact-URI: sip:[email protected]:5060Contactt-URI User Part: cristinaContact-URI Host Part: 40.0.0.1Contact-URI Host Port: 5060Contact parameter: expires=3600Path: <sip:[email protected]:4060;lr>Service-Route: <sip:[email protected]:6060;lr>Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, PUBLISH, MESSAGE, INFOServer: Sip EXpress router (2.1.0-dev1 OpenIMSCore (i386/linux))Content-Length: 0Warning: 392 127.0.0.1:6060 “Noisy feedback tells: pid=19703 req_src_ip=127.0.0.1 req_src_port=5060 in_uri=sip:scscf.open-ims.test:6060 out_uri=sip:scscf.open-ims.test:6060 via_cnt==3″
Tags: 4G, Diameter, eNodeB, EPC, HSS, I-CSCF, IMS, loose routing, LTE, MME, P-CSCF, passion, PCRF, PGW, Register, S-CSCF, SGW, strict routing, techie, UE
4G – GTPv2 dumps
Knowing it is not very nice to talk a lot about a certain thing, but to offer no tangible results, I’ve tried to create some minimal dump information for the things discussed lately on my posts.
They should be, though not end-to-end results, at least some hope-by-hope information.
So, let’s see first how an Initial Attach to the 4G network would look like, then how the UE asks for a dedicated bearer to put traffic on (specifically to put VoIP traffic on), and then take a closer look at a IMS call flow.
For the 4G dumps I must give credit to the wonderful company I work in, which helps me develop on the 4G core network side. While the IMS flows are generated using OpenIMSCore and Monster, the 2 solutions from the cool guys from Fraunhofer.
While my company’s solution is proprietary and closed-source, I would rather recommend you to buy it, but I am not able to give so much details on its architecture
, the Fraunhofer solution is free and open-source and is nicely installed on a debian
.
So, let’s first take a look at the attach procedure, which is captured on the S11 4G interface, between the MME and the SGW. The message here are Create Session Request and Create Session Response.
GTPv2 runs over UDP, so I’ll just show the message from the GTPv2 control-plane message above in the TCP/IP stack:
First the Create Session Request, coming from the MME to the SGW, by which the UE asks for an IP address and connectivity the PDN – Packet Data Network:
GPRS Tunneling Protocol V2Create Session RequestFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Create Session Request (32)Message Length: 201Tunnel Endpoint Identifier: 0Sequence Number: 7660Spare: 45056International Mobile Subscriber Identity (IMSI) :IE Type: International Mobile Subscriber Identity (IMSI) (1)IE Length: 8000. …. = CR flag: 0…. 0000 = Instance: 0IMSI(International Mobile Subscriber Identity number): 220614000000001MSISDN :IE Type: MSISDN (76)IE Length: 6000. …. = CR flag: 0…. 0000 = Instance: 0Country Code: 40 Romania length 2Address digits: 700000001Mobile Equipment Identity (MEI) :IE Type: Mobile Equipment Identity (MEI) (75)IE Length: 8000. …. = CR flag: 0…. 0000 = Instance: 0MEI(Mobile Equipment Identity): 999900000000100User Location Info (ULI) :IE Type: User Location Info (ULI) (86)IE Length: 13000. …. = CR flag: 0…. 0000 = Instance: 0…1 …. = ECGI Present Flag): True…. 1… = TAI Present Flag): True…. .0.. = RAI Present Flag): False…. ..0. = SAI Present Flag): False…. …0 = CGI Present Flag): FalseMobile Country Code (MCC): Romania (226)Mobile Network Code (MNC): Orange Romania (10)Tracking Area Code: 4113Mobile Country Code (MCC): Romania (226)Mobile Network Code (MNC): Orange Romania (10)ECI (E-UTRAN Cell Identifier): 0Serving Network :IE Type: Serving Network (83)IE Length: 3000. …. = CR flag: 0…. 0000 = Instance: 0Mobile Country Code (MCC): Romania (226)Mobile Network Code (MNC): Orange Romania (10)RAT Type :IE Type: RAT Type (82)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0RAT Type: EUTRAN (6)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 1010 = Interface Type: S11 MME GTP-C interface (10)TEID/GRE Key: 3300033F-TEID IPv4: 30.0.1.1 (30.0.1.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0001 = Instance: 11… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0111 = Interface Type: S5/S8 PGW GTP-C interface (7)TEID/GRE Key: 0F-TEID IPv4: 20.0.0.1 (20.0.0.1)PDN Type :IE Type: PDN Type (99)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. .001 = PDN Type: IPv4 (1)Selection Mode :IE Type: Selection Mode (128)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. ..00 = Selection Mode: MS or network provided APN, subscribed verified (0)PDN Address Allocation (PAA) :IE Type: PDN Address Allocation (PAA) (79)IE Length: 5000. …. = CR flag: 0…. 0000 = Instance: 0…. .001 = PDN Type: IPv4 (1)PDN IPv4: 0.0.0.0 (0.0.0.0)Indication :IE Type: Indication (77)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 00… …. = DAF (Dual Address Bearer Flag): False.0.. …. = DTF (Direct Tunnel Flag): False..0. …. = HI (Handover Indication): False…0 …. = DFI (Direct Forwarding Indication): False…. 0… = OI (Operation Indication): False…. .0.. = ISRSI (Idle mode Signalling Reduction Supported Indication): False…. ..0. = ISRAI (Idle mode Signalling Reduction Activation Indication): False…. …0 = SGWCI (SGW Change Indication): False…. 0… = PT (Protocol Type): False…. .0.. = TDI (Teardown Indication): False…. ..0. = SI (Scope Indication): False…. …0 = MSV (MS Validated): FalseAccess Point Name (APN) :IE Type: Access Point Name (APN) (71)IE Length: 18000. …. = CR flag: 0…. 0000 = Instance: 0APN (Access Point Name): visited.comAPN Restriction :IE Type: APN Restriction (127)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0APN Restriction: 0Aggregate Maximum Bit Rate (AMBR) :IE Type: Aggregate Maximum Bit Rate (AMBR) (72)IE Length: 8000. …. = CR flag: 0…. 0000 = Instance: 0AMBR Uplink (Aggregate Maximum Bit Rate for Uplink): 1AMBR Downlink(Aggregate Maximum Bit Rate for Downlink): 1Bearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 31000. …. = CR flag: 0…. 0000 = Instance: 0EPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0101 = EPS Bearer ID (EBI): 5Bearer Level Quality of Service (Bearer QoS) :IE Type: Bearer Level Quality of Service (Bearer QoS) (80)IE Length: 22000. …. = CR flag: 0…. 0000 = Instance: 0…. …1 = PVI (Pre-emption Vulnerability): True..00 00.. = PL (Priority Level): 0.0.. …. = PCI (Pre-emption Capability): FalseLabel (QCI): 4Maximum Bit Rate For Uplink: 65536000Maximum Bit Rate For Downlink: 65536000Guaranteed Bit Rate For Uplink: 0Guaranteed Bit Rate For Downlink: 0Recovery (Restart Counter) :IE Type: Recovery (Restart Counter) (3)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0Restart Counter: 0
GPRS Tunneling Protocol V2Create Session ResponseFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Create Session Response (33)Message Length: 126Tunnel Endpoint Identifier: 3300033Sequence Number: 7660Spare: 45056Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalsePDN Address Allocation (PAA) :IE Type: PDN Address Allocation (PAA) (79)IE Length: 5000. …. = CR flag: 0…. 0000 = Instance: 0…. .001 = PDN Type: IPv4 (1)PDN IPv4: 40.0.0.1 (40.0.0.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 1011 = Interface Type: S11/S4 SGW GTP-C interface (11)TEID/GRE Key: 1F-TEID IPv4: 30.0.2.1 (30.0.2.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0001 = Instance: 11… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0111 = Interface Type: S5/S8 PGW GTP-C interface (7)TEID/GRE Key: 1F-TEID IPv4: 20.0.0.1 (20.0.0.1)APN Restriction :IE Type: APN Restriction (127)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0APN Restriction: 0Bearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 63000. …. = CR flag: 0…. 0000 = Instance: 0Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalseEPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0101 = EPS Bearer ID (EBI): 5Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0001 = Interface Type: S1-U SGW GTP-U interface (1)TEID/GRE Key: 33F-TEID IPv4: 30.0.2.1 (30.0.2.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0001 = Instance: 11… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0101 = Interface Type: S5/S8 PGW GTP-U interface (5)TEID/GRE Key: 33F-TEID IPv4: 20.0.0.1 (20.0.0.1)Bearer Level Quality of Service (Bearer QoS) :IE Type: Bearer Level Quality of Service (Bearer QoS) (80)IE Length: 22000. …. = CR flag: 0…. 0000 = Instance: 0…. …0 = PVI (Pre-emption Vulnerability): False..00 00.. = PL (Priority Level): 0.0.. …. = PCI (Pre-emption Capability): FalseLabel (QCI): 9Maximum Bit Rate For Uplink: 8640000Maximum Bit Rate For Downlink: 8640000Guaranteed Bit Rate For Uplink: 0Guaranteed Bit Rate For Downlink: 0Recovery (Restart Counter) :IE Type: Recovery (Restart Counter) (3)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0Restart Counter: 0
GPRS Tunneling Protocol V2Modify Bearer RequestFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Modify Bearer Request (34)Message Length: 30Tunnel Endpoint Identifier: 1Sequence Number: 7660Spare: 45568Bearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 18000. …. = CR flag: 0…. 0000 = Instance: 0EPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0101 = EPS Bearer ID (EBI): 5Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0000 = Interface Type: S1-U eNodeB GTP-U interface (0)TEID/GRE Key: 33F-TEID IPv4: 30.0.0.1 (30.0.0.1)
GPRS Tunneling Protocol V2Modify Bearer ResponseFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Modify Bearer Response (35)Message Length: 42Tunnel Endpoint Identifier: 3300033Sequence Number: 7660Spare: 45568Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalseBearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 24000. …. = CR flag: 0…. 0000 = Instance: 0EPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0101 = EPS Bearer ID (EBI): 5Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalseFully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0001 = Interface Type: S1-U SGW GTP-U interface (1)TEID/GRE Key: 33F-TEID IPv4: 30.0.2.1 (30.0.2.1)
GPRS Tunneling Protocol V2Create Bearer RequestFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Create Bearer Request (95)Message Length: 86Tunnel Endpoint Identifier: 3300033Sequence Number: 0Spare: 256EPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0101 = EPS Bearer ID (EBI): 5Bearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 69000. …. = CR flag: 0…. 0000 = Instance: 0EPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0000 = EPS Bearer ID (EBI): 0Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0001 = Interface Type: S1-U SGW GTP-U interface (1)TEID/GRE Key: 34F-TEID IPv4: 30.0.2.1 (30.0.2.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0001 = Instance: 11… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0101 = Interface Type: S5/S8 PGW GTP-U interface (5)TEID/GRE Key: 34F-TEID IPv4: 20.0.0.1 (20.0.0.1)EPS Bearer Level Traffic Flow Template (Bearer TFT) :IE Type: EPS Bearer Level Traffic Flow Template (Bearer TFT) (84)IE Length: 8000. …. = CR flag: 0…. 0000 = Instance: 0001. …. = Operation Code: Create New TFT (1)…. 0001 = Number of Packet Filters: 1…0 …. = Ebit: FalsePacket Filter 1…. 0010 = Packet Filter Identifier: 2..11 …. = Direction: bidirectional (3)Evaluation Precedence: 2Length of Packet Filter: 3Component Type: Single remote port type (5060)Single remote port type: 5060Bearer Level Quality of Service (Bearer QoS) :IE Type: Bearer Level Quality of Service (Bearer QoS) (80)IE Length: 22000. …. = CR flag: 0…. 0000 = Instance: 0…. …0 = PVI (Pre-emption Vulnerability): False..01 11.. = PL (Priority Level): 7.0.. …. = PCI (Pre-emption Capability): FalseLabel (QCI): 3Maximum Bit Rate For Uplink: 65535000Maximum Bit Rate For Downlink: 65535000Guaranteed Bit Rate For Uplink: 65535000Guaranteed Bit Rate For Downlink: 65535000
GPRS Tunneling Protocol V2Create Bearer ResponseFlags: 72010. …. = Version: 2…. 1… = T: 1Message Type: Create Bearer Response (96)Message Length: 55Tunnel Endpoint Identifier: 1Sequence Number: 0Spare: 256Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalseBearer Context : [Grouped IE]IE Type: Bearer Context (93)IE Length: 37000. …. = CR flag: 0…. 0000 = Instance: 0Cause :IE Type: Cause (2)IE Length: 2000. …. = CR flag: 0…. 0000 = Instance: 0Cause: Request accepted (16)…. …0 = Cause Source (CS: True-Error originated by remote node, False-Error originated by Node sending the Message): FalseEPS Bearer ID (EBI) :IE Type: EPS Bearer ID (EBI) (73)IE Length: 1000. …. = CR flag: 0…. 0000 = Instance: 0…. 0110 = EPS Bearer ID (EBI): 6Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0000 = Instance: 01… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0000 = Interface Type: S1-U eNodeB GTP-U interface (0)TEID/GRE Key: 34F-TEID IPv4: 30.0.0.1 (30.0.0.1)Fully Qualified Tunnel Endpoint Identifier (F-TEID) :IE Type: Fully Qualified Tunnel Endpoint Identifier (F-TEID) (87)IE Length: 9000. …. = CR flag: 0…. 0001 = Instance: 11… …. = V4 (True-IPV4 address field Exists,False-Doesn’t Exist in F-TEID): True.0.. …. = V6 (True-IPV6 address field Exists,False-Doesn’t Exist in F-TEID): False…0 0001 = Interface Type: S1-U SGW GTP-U interface (1)TEID/GRE Key: 34F-TEID IPv4: 30.0.2.1 (30.0.2.1)
Tags: 4G, Diameter, eNodeB, EPC, HSS, I-CSCF, IMS, loose routing, LTE, MME, P-CSCF, passion, PCRF, PGW, Register, S-CSCF, SGW, strict routing, techie, UE
28. Register
29. Register
This is the REGISTER message that the UA composes AFTER receiving the 401 Unauthorized. The UA retrieves the authentication information from the UE, which, in the case of 3GPP phones, is stored in the UICC – Universal Integrated Circuit Card. The new Register message looks like this:
30. Diameter UAR
At this point, the I-CSCF gets the Register message above. As the I-CSCF has no state of the UA status on the home network, and it also does not know if the HSS already assigned an S-CSCF to the UA or not, the I-CSCF has to contact the HSS again, via the Cx interface, get the address of the S-CSCF allocated for this UA and forward this Register to the right S-CSCF.
31. Diameter UAA
Diameter UAR and Diameter UAA have the same format as before:
4G to IMS call flow – Register to IMS – part 6
32. Register
This is the step where the Register message is transmitted from the I-CSCF to the S-CSCF. The S-CSCF is the one allocated by the HSS in the previous Register flow (answered with 401 Unauthorized) and now the HSS sends the URI of this allocated S-CSCF to the I-CSCF in the Diameter UAA message from Step 31 above.
33. Diameter SAR
When the S-CSCF receives the Register message with credentials from the UA, it authenticates this UA versus the AV – Authentication Vector is received from the HSS in the previous Step 24. Diameter MAA message. After this, the UA is considered authenticated, so now the S-CSCF should have also its profile (stored in the HSS), in order to know which services are available for it. In order to get this profile and also so let the HSS know that the UA is now registered, the S-CSCF sends the Cx-Put or Diameter SAR – Server-Assignment-Request message to the HSS, via the Cx interface.
According to RFC 4740 – section 8.3, the Diameter SAR message should look like this:
<SAR> ::= < Diameter Header: 284, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ SIP-Server-Assignment-Type }
{ SIP-User-Data-Already-Available }
[ Destination-Host ]
[ User-Name ]
[ SIP-Server-URI ]
* [ SIP-Supported-User-Data-Type ]
* [ SIP-AOR ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
34. Diameter SAA
This is the reply sent by the HSS to the S-CSCF, Cx-Put response or Diameter SAA – Server-Assignment-Answer, which contains the user profile. This user profile contains all the Public User Identities of this UA, identities that are associated to the Private User Identity, and also all the public identities that are to be automatically (or implicitly) registered in the S-CSCF.
The user profile also has a set of initial filter criteria – a set of rules which determine when a SIP request is forwarded to an Application Server for a certain service request. The Contact URI of the UA that the S-CSCF store in the HSS it the actual value of the Contact header from the Register message. The S-CSCF also stores the values from the Path header in order to know where to route the SIP initial requests for that UA to.
As per RFC 4740 – section 8.4, this message looks like this:
<SAA> ::= < Diameter Header: 284, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Result-Code }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
* [ SIP-User-Data ]
[ SIP-Accounting-Information ]
* [ SIP-Supported-User-Data-Type ]
[ User-Name ]
[ Auth-Grace-Period ]
[ Authorization-Lifetime ]
[ Redirect-Host ]
[ Redirect-Host-Usage ]
[ Redirect-Max-Cache-Time ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
35. 200 OK
Then the S-CSCF responds to the Register message by sending a 200 OK message. This message contains also a P-Associated-URI list – list of the Associated URIs where this UA can be located, according to the S-CSCF – this list is not necessarily the same as the list of implicitly registered public user identities.
The S-CSCF also inserts a Service-Route header, which contains its own URI with a string in the user part, in order to differentiate mobile originated requests from mobile terminating requests.
36. 200 OK
37. 200 OK
These messages are basically the same, except the Via header. When it reaches the UE, the 200 OK message looks like this:
SIP/2.0 200 OK
Via: SIP/2.0/UDP [5555::aaa:bbb:ccc:ddd];comp=sigcomp;branch=z9hG4bK9h9ab
Path: <sip:[email protected];lr>
Service-Route: <sip:[email protected];lr>
From: <sip:[email protected]>;tag=s8732n
To: <sip:[email protected]>;tag=409sp3
Call-ID: 23fi57lju
Contact: <sip:[5555::aaa:bbb:ccc:ddd]:5059;comp=sigcomp>;expires=600000
Cseq: 2 REGISTER
Date: Wed, 21 January 2004 18:19:20 GMT
P-Associated-URI: <sip:[email protected]>,<sip:[email protected]>,
<sip:[email protected];user=phone>
Content-Length: 0
Tags: 4G, Diameter, eNodeB, EPC, HSS, I-CSCF, IMS, loose routing, LTE, MME, P-CSCF, passion, PCRF, PGW, Register, S-CSCF, SGW, strict routing, techie, UE
Hey there. ‘ve got back from holiday, live and kicking !!!
19. Register – message created by the UE – described in Step 17 – http://www.imacandi.net/windancer/2010/08/29/4g-to-ims-call-flow-–-register-to-ims-–-part-4.html
The Register message is then forwarded by the local / visited network (in this case) P-CSCF to the remote/home-network’s I-CSCF.
Here is the (big) picture again, in case somebody forgot it – and we are at Step 19. Register:
And here is how this message should look like after crossing from the visited network to the home network domain:
<UAR> ::= < Diameter Header: 283, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ SIP-AOR }
[ Destination-Host ]
[ User-Name ]
[ SIP-Visited-Network-Id ]
[ SIP-User-Authorization-Type ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
<UAA> ::= < Diameter Header: 283, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Session-State }
{ Result-Code }
{ Origin-Host }
{ Origin-Realm }
[ SIP-Server-URI ]
[ SIP-Server-Capabilities ]
[ Authorization-Lifetime ]
[ Auth-Grace-Period ]
[ Redirect-Host ]
[ Redirect-Host-Usage ]
[ Redirect-Max-Cache-Time ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
<MAR> ::= < Diameter Header: 286, REQ, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
{ Destination-Realm }
{ SIP-AOR }
{ SIP-Method }
[ Destination-Host ]
[ User-Name ]
[ SIP-Server-URI ]
[ SIP-Number-Auth-Items ]
[ SIP-Auth-Data-Item ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
24. Diameter MAA
Diameter MAA – Multimedia-Auth-Answer, as per RFC 4740 – section 8.8, is the message sent from the HSS to the S-CSCF containing the AV – authentication vectors – one or more. Based on this vectors, the S-CSCF is able to authenticate the user by sending a SIP 401 Unauthorized message to this UA.
The MAA message should look like this:
<MAA> ::= < Diameter Header: 286, PXY >
< Session-Id >
{ Auth-Application-Id }
{ Result-Code }
{ Auth-Session-State }
{ Origin-Host }
{ Origin-Realm }
[ User-Name ]
[ SIP-AOR ]
[ SIP-Number-Auth-Items ]
* [ SIP-Auth-Data-Item ]
[ Authorization-Lifetime ]
[ Auth-Grace-Period ]
[ Redirect-Host ]
[ Redirect-Host-Usage ]
[ Redirect-Max-Cache-Time ]
* [ Proxy-Info ]
* [ Route-Record ]
* [ AVP ]
25. 401 Unauthorized
This message contains the important information for authenticating the UA: the WWW-Authenticate header.
This message would look the following, between the S-CSCF and I-CSCF:
26. 401 Unauthorized
27. 401 Unauthorized
Messages 26. and 27. are pretty much the same as the one above, with the only difference of the Via header, which will only contain the Request URI of the User Agent.
—– what the UE does with this message and what happens next: in the next episode
—–
Tags: 4G, Diameter, eNodeB, EPC, HSS, I-CSCF, IMS, loose routing, LTE, MME, P-CSCF, passion, PCRF, PGW, Register, S-CSCF, SGW, strict routing, techie, UE
holiday
Kemer, Antalya, Turkey
7 nights, Fantasia DeLuxe
Wonderful, relaxing, lots of pool, dolphins, great smiling people, lots of Russians (which I didn’t like, cuz I don’t know the language and everybody was speaking russian), lots of yummy food, lots of sun and swimming, lots of funny fish close to the shore – we could see them when diving just 1 meter into the sea.
Scuba diving and ATV riding. A la Carte restaurants. Just Great!
Pictures on facebook.


