2014-10-30

AKAv1-MD5 Authentication with sipp-3.4.1 & OpenIMSCore

./uac-aka-reg.sh를 실행하면 Registration이 됨을 확인할 수 있습니다.
------------------------------ Scenario Screen -------- [1-9]: Change Screen --
  Call-rate(length)   Port   Total-time  Total-calls  Remote-host
  10.0(0 ms)/1.000s   3062       0.27 s            1  127.0.0.1:4060(UDP)

  Call limit reached (-m 1), 0.271 s period  2 ms scheduler resolution
  0 calls (limit 30)                     Peak was 1 calls, after 0 s
  0 Running, 3 Paused, 2 Woken up
  0 dead call msg (discarded)            0 out-of-call msg (discarded)        
  1 open sockets                        

                                 Messages  Retrans   Timeout   Unexpected-Msg
    REGISTER ---------->         1         0         0                  

         401 <----------         1         0         0         0        
    REGISTER ---------->         1         0         0                  

         200 <----------  E-RTD1 1         0         0         0        
------------------------------ Test Terminated --------------------------------

uac-aka-reg.sh
#!/bin/bash
../sipp -i 172.16.11.200 -p 3062 127.0.0.1:4060 -sf uac-aka-reg.xml -inf users.csv -nd -m 1 

users.csv
SEQUENTIAL
alice;open-ims.test;[authentication username=alice@open-ims.test aka_OP=0x00000000000000000000000000000000 aka_K=alice aka_AMF=0x000000000000];test

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

<send retrans="500" crlf="true">
  <![CDATA[         
      REGISTER sip:[field1] SIP/2.0
      Via: SIP/2.0/UDP [local_ip]:[local_port];branch=[branch]
      Max-Forwards: 70
      From: <sip:[field0]@[field1]>;tag=[call_number]
      To: <sip:[field0]@[field1]>
      P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E
      Call-ID: reg1///[call_id]
      CSeq: [cseq] REGISTER
      Contact: <sip:[field0]@[local_ip]:[local_port]>
      Authorization: Digest username="alice@open-ims.test", realm="open-ims.test"
      Supported: path
      Expires: 3600
      Content-Length: 0
   ]]>
</send>   

<recv response="401" auth="true">
   <action>
     <log message="From is [last_From]"/>
     <ereg regexp=".*" search_in="hdr" header="Service-Route" assign_to="1" /> 
     <log message="From is [last_From]. Service-Route is [$1]"/>
   </action>
</recv> 

<send retrans="500" crlf="true" >
  <![CDATA[
      REGISTER sip:[field1] SIP/2.0
      Via: SIP/2.0/UDP [local_ip]:[local_port];branch=[branch]
      Route: [$1]
      From: <sip:[field0]@[field1]>;tag=[call_number]
      To: <sip:[field0]@[field1]>
      P-Access-Network-Info: 3GPP-UTRAN-TDD;utran-cell-id-3gpp=C359A3913B20E
      Call-ID: reg1///[call_id]
      CSeq: [cseq] REGISTER
      Contact: <sip:[field0]@[local_ip]:[local_port]>
      [field2]
      Supported: path
      Expires: 3600
      Content-Length: 0
   ]]>
</send>   

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

<ResponseTimeRepartition value="10, 20"/>
<CallLengthRepartition value="10"/>

</scenario>