Search This Blog

Saturday 18 January 2014

SIPp Scripts(Register.xml and Invite.xml)UAC

****SIPp Scripts*****:

Register UAC:

Register.csv :

Register.csv file should contain the User data in below format

SEQUENTIAL
1000;10.XXX.XXX.XX;[authentication username=1000 password=123456];




Register.xml:

Register.xml file should contain  below messages

<?xml version="1.0" encoding="ISO-8859-1" ?>

<scenario name="register_client">
  <send retrans="500">
    <![CDATA[

      REGISTER sip:[remote_ip] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: <sip:[field0]@[field1]>;tag=[call_number]
      To: <sip:[field0]@[field1]>
      Call-ID: [call_id]
      CSeq: 1 REGISTER
      Contact: sip:[field0]@[local_ip]:[local_port]
      Max-Forwards: 70
      Expires: 1800
      User-Agent: SIPp/Linux
      Content-Length: 0

    ]]>
  </send>

  <recv response="401" auth="true">
  </recv>

  <send retrans="500">
    <![CDATA[

      REGISTER sip:[remote_ip] SIP/2.0
      Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
      From: <sip:[field0]@[field1]>;tag=[call_number]
      To: <sip:[field0]@[field1]>

      Call-ID: [call_id]
      CSeq: 2 REGISTER
      Contact: sip:[field0]@[local_ip]:[local_port]
      [authentication username=21613 password=123456]
      Max-Forwards: 70
      Expires: 1800
      User-Agent: SIPp/Linux
      Content-Length: 0

    ]]>
  </send>

  <recv response="200" rtd="true">
  </recv>
 
</scenario>



INVITE UAC :

Invite.CSV:

SEQUENTIAL
1000;10.XXX.XXX.XXX;[authentication username=1000 password=123456];1001;
  
INVITE.XML

Invite.xml should contain below message format 


<?xml version="1.0" encoding="ISO-8859-1" ?>
<!DOCTYPE scenario SYSTEM "sipp.dtd">

<!-- You will need to compile SIPp with OpenSSL support 'make ossl' to use this call scenario -->

<!-- Execute this script with SIPp using the following command assuming your UAS is 10.0.0.10 -->
<!-- Replace 10.0.0.10 with your SIP proxy’s address. The command will generate 10 calls (-r) per 10000 -->
<!-- milliseconds (-rp), max 100 concurrent calls (-l) and make a max of 100000 calls (-m) -->

<!-- ./sipp 10.0.0.10 -sf invite-auth-sdp-nomedia.xml -inf user-accounts.csv -m 100000 -l 100 -r 10 -rp 10000 -->

<scenario name="UAC INvite    ">
  <send retrans="500" start_txn="invite">
    <![CDATA[

INVITE sip:[field3]@[field1]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
To: sut <sip:[field3]@[field1]:[remote_port]>
Call-ID: [call_id]
CSeq: [cseq] INVITE
Contact: <sip:sipp@[local_ip]:[local_port]>
Max-Forwards: 70
Subject: Performance Test
User-Agent: SIPp Tester UAC
Allow: INVITE, ACK, CANCEL, OPTIONS, BYE, REFER, SUBSCRIBE, NOTIFY, INFO, PUBLISH
Content-Type: application/sdp
Content-Length: [len]

v=0
o=user1 53655765 2353687637 IN IP[local_ip_type] [local_ip]
s=-
c=IN IP[media_ip_type] [media_ip]
t=0 0
m=audio [media_port] RTP/AVP 0
a=rtpmap:0 PCMU/8000


]]>
  </send>

  <recv response="100" optional="true" response_txn="invite">
  </recv>

  <recv response="180" optional="true" response_txn="invite">
  </recv>

 
  <recv response="200" rtd="true" rrs="true" response_txn="invite">
       
  </recv>

   <send ack_txn="invite">
    <![CDATA[

ACK sip:[field3]@[field1]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch-3]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
[last_To]
[routes]
Call-ID: [call_id]
CSeq: [cseq] ACK
Contact: <sip:sipp@[local_ip]:[local_port]>
Max-Forwards: 70
Subject: Performance Test
User-Agent: SIPp Tester UAC
Content-Length: 0

]]>
  </send>
 <pause milliseconds="10000"/>
 <send retrans="500">
    <![CDATA[
BYE sip:[field3]@[field1]:[remote_port] SIP/2.0
Via: SIP/2.0/[transport] [local_ip]:[local_port];branch=[branch]
From: sipp <sip:sipp@[local_ip]:[local_port]>;tag=[pid]SIPpTag00[call_number]
[last_To]
Call-ID: [call_id]
CSeq: [cseq] BYE
Contact: <sip:sipp@[local_ip]:[local_port]>
Max-Forwards: 70
Subject: Performance Test
User-Agent: SIPp Tester UAC
Content-Length: 0
]]>
  </send>

  <recv response="200" crlf="true">
  </recv>

  <!-- definition of the response time repartition table (unit is ms) -->
  <ResponseTimeRepartition value="10, 20, 30, 40, 50, 100, 150, 200"/>

  <!-- definition of the call length repartition table (unit is ms) -->
  <CallLengthRepartition value="10, 50, 100, 500, 1000, 5000, 10000"/>


</scenario>




Video Tutorial SIPp:



Sunday 5 January 2014

IMS (IP MULTIMEDIA SUBSYSTEM)

                                 IP MULTIMEDIA SUBSYSTEM (IMS)

Why do we need the IMS?
 
                              The Main idea of the IMS is to offer Internet services everywhere and at any time using cellular technologies. we need to further clarify what we mean by merging the Internet and the cellular worlds and what the real advantages of doing so are. To do that, we need to introduce the different domains in 3G networks, namely the circuit-switched domain and the packet -switched domain.
The circuit-switched domain is an evolution of the technology used in 2G networks.The circuits in this domain are optimized to transport voice and video, although they can also be used to transport instant messages. The current trend is to substitute it with more efficient packet-switch technology.
                             The packet-switched domain provides I access to the Internet. While 2G terminals can act as a modem to transmit IP packets over a circuit, 3G terminals  use native packet-switched technology to perform data communications. This way, data transmissions are much faster and the available bandwidth for Internet access increases dramatically.
                             Why do we need the IMS, if all the power of the Internet is already available for 3G users through the packet-switched domain? The answer is threefold: QoS (Quality of Service), charging, and integration of different services. One of the reasons for creating the IMS was to provide the QoS required for enjoying, rather than suffering, real-time multimedia sessions.
                               Another reason for creating the IMS was being able to charge multimedia sessions appropriately. A user involved in videoconference over the  packet-switched domain usually transfers a large amount of information (which consists mainly of encoded audio and video). Depending on the 3G operator, the transfer of such an amount of data may generate large expenses for the user, since operators typically charge by the number of bytes transferred. The IMS provides information about the service being invoked by the user, and with this information the operator decides whether to use a flat rate for the service, apply traditional time-based charging, apply QoS-based charging, or perform any new type of charging.
                               In addition, users have to be able to execute all their services when roaming as well as from their home networks. To achieve these goals the IMS uses Internet technologies and Internet protocols.
 

 

General Principles of the IMS Architecture

GSM has two different modes of operation: circuit-switched and packet-switched.
 
GSM circuit-switched : The GSM circuit-switched network uses circuit-switched technologies, which are also used in the PSTN (Public Switched Telephone Network).
Circuit-switched networks have two different planes:
 
 
 

REST API

  API  is an application programming interface. It is a set of rules that allow programs to talk to each other. The developer creates the AP...