Saturday, April 20, 2013

Filter your call from trace dump

As a telecom professional , often you are faced with scenario of call failures , charging failures etc. Usually , when after *initial checking you are not able to locate the problem + you suspect the problem to be on SSP ( Service Switching Point ) side then you take trace.

Here is how a typical  message flow of CAMEL  or to be specific Camel Application Part version 2 call flow looks like 


  • IDP = Initial DP 
  • FCI = Furnish Charging Information
  • ACR = Apply Charging Report
  •  ERB = Event Report BCSM
  • ACM = Address Complete Message

Now you *take trace  and then open it up in your text editor ( I prefer to use UltraEdit). Normally , if you take trace you are going to get a trace dump, meaning that you will be getting ALL the calls coming to your OCS / IN / CS  ( whatever your vendor calls it ) . If you have taken trace on SIGTRAN interface then you have to open it in wireshark or Ethereal.

Now when you open the trace file ( normally , depending on traffic on your platform ,a 10 minute trace file could be about 1 GB size ) you are faced with a million dollar question ...."how the hell am i going to find my call in this big file ?"

You start with searching the number you used for making the call or the number whose *complaint had been received during that time.  Once you find the number e.g. see below trace excerpt.

    -0------ Routing Indicator         : Route on Global Title               
    0------- For national use          : 0 (0x00)                            
 24 11110001 Subsystem number          : INAP ( Intelligent Network )        
 25 00000000 Translation Type          : 0 (0x00)                            
 26 ----0001 Encoding Scheme           : BCD, odd number of digits           
    0001---- Numbering Plan            : ISDN/Telephony (E.164/E.163)        
 27 -0000100 Nat. of Address Indicator : International number                
    0------- Spare                     :                                     
 28 ******** Calling Address Signals   : ****02993007                         
             Data parameter
 34 11010100 Parameter length          : 212 (0xD4)                          

             Begin
             1  Origination Transaction ID
 40 ******** Orig Trans ID             : 2A 91 51 CB                         

             2  Dialog Portion
             2.1  Dialog External
             2.1.1  Dialog As Id
 50 ******** Dialog As Id              : itu(0).recommendation(0).Q(17).773. 
                                       : as(1).dialogue-as(1).version1(1)    

             2.1.2  Structured Dialog
             2.1.2.1  Dialog Request
             2.1.2.1.1  Protocol Version
 63 00000111 UnusedBits                : 7                                   
 64 1------- Version 1                 : Yes                                 
    -0000000 Filler                    :                                     

             2.1.2.1.2  Application Context Name
             2.1.2.1.2.1  ACN Object Id
 69 ******** ACN Object Id             : iso(1).identified-organization(3).  
                                       : ecma(12).member-company(2).         
                                       : siemens-units(1107).oen(3).inap(3). 
                                       : ac(0).cs1-ssp-to-scp(0).version5-2(42)

             3  Component Portion
             3.1  Invoke
             3.1.1  Invoke ID
 87 00000000 Invoke ID value           : 0 (0x00)                            

             3.1.2  Local Operation
 90 00000000 Operation Code            : InitialDP                        INV *

             3.1.3  InitialDPArg
             3.1.3.1  ServiceKey
 96 00010100 ServiceKey                : 20 (0x14)                           

             3.1.3.2  CallingPartyNumber
 99 1------- Odd/Even Indicator        : odd Number of address signals       
    -0000100 Nature of Addr Indicator  : international number                
100 0------- Number Incomplete Indic.  : complete                            
    -001---- Numbering Plan Indicator  : ISDN numbering plan                 
    ----00-- Addr. Present. Restr. Ind.: presentation allowed                
    ------01 Screening Indicator       : user provided, verified&passed      
101 ******** clg.pty.no. Address Signal: 9****542463   
                      


  
Once you found the MSISDN , you can go up and note down the Orig Trans ID i.e. TCAP dialogue id , this is unique for all the calls at one time coming to your Online Charging System.Important parameters are highlighted

Now hit search again and you will come across this same Orig Trans ID=2A 91 51 CB in another message. See below trace excerpt



             Continue
             1  Origination Transaction ID
 40 ******** Orig Trans ID             : 15 00 4E B8                          

             2  Destination Transaction ID
 46 ******** Dest Trans ID             : 2A 91 51 CB                          

             3  Dialog Portion
             3.1  Dialog External
             3.1.1  Dialog As Id
 56 ******** Dialog As Id              : itu(0).recommendation(0).Q(17).773.  
                                       : as(1).dialogue-as(1).version1(1)     

             3.1.2  Structured Dialog
             3.1.2.1  Dialog Response
             3.1.2.1.1  Application Context Name
             3.1.2.1.1.1  ACN Object Id
 71 ******** ACN Object Id             : iso(1).identified-organization(3).   
                                       : ecma(12).member-company(2).          
                                       : siemens-units(1107).oen(3).inap(3).  
                                       : ac(0).cs1-ssp-to-scp(0).version5-2(42)

             3.1.2.1.2  Associate-Result Type
             3.1.2.1.2.1  Associate-Result
 85 00000000 Associate Result          : Accepted                             

             3.1.2.1.3  Associate Source Diagnostic
             3.1.2.1.3.1  Dialog Service User
             3.1.2.1.3.1.1  Dialogue Service User Value
 92 00000000 Dialog Sv. User Value     : Null                                 

             4  Component Portion
             4.1  Invoke
             4.1.1  Invoke ID
 99 00000001 Invoke ID value           : 1 (0x01)                             

             4.1.2  Local Operation
102 00010111 Operation Code            : RequestReportBCSMEvent           INV *

             4.1.3  RequestReportBCSMEventArg
             4.1.3.1  BCSMEvents
             4.1.3.1.1  BCSMEvent
             4.1.3.1.1.1  EventTypeBCSM
111 00001010 EventTypeBCSM             : OAbandon                             

             4.1.3.1.1.2  MonitorMode
114 00000001 MonitorMode               : NotifyAndContinue                    

             4.1.3.1.1.3  LegID
             4.1.3.1.1.3.1  SendingSideID
119 00000001 SendingSideID             : 1st leg                              


Since the Orig Trans ID = 2A 91 51 CB is mentioned in this message as Dest Trans ID , so this means that this is response to Initial DP message . 

ACN Object ID is not for CAP2 , the trace excerpt is for example only.
This way you can find all the messages related to your call and then analyze it , ofcourse you have to be familiar with meaning and importance of parameters to do analysis . In case you are not , don't worry I am preparing other blogs to help you with this.

* = Stay tuned for more blogs on this..
Note : Your trace may not exactly look like above in UltraEdit or whatever text editor you are using , but the idea for filtering the call is same. 
In case you have specific question , please feel free to ask in comments. I will try my level best to answer it.