[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [1'b68'1 astrad v8] tester les différences de récéption de appels entre astrad et portasip



La documentation est ici :

http://switzernet.com/3/public/110623-portasip-vs-astradV7-incoming/


On 2011-06-23 14:14, Oussama Hammami wrote:
La fréquence de l’envoi des paquets vides est de 15s.
2011-06-23 14:08:47 U 91.121.101.126:5060 -> 62.202.88.127:51368
2011-06-23 14:08:47 ....

2011-06-23 14:09:02 U 91.121.101.126:5060 -> 62.202.88.127:51368
2011-06-23 14:09:02 ....


2011-06-23 14:09:17 U 91.121.101.126:5060 -> 62.202.88.127:51368
2011-06-23 14:09:17 ....

2011-06-23 14:09:32 U 91.121.101.126:5060 -> 62.202.88.127:51368
2011-06-23 14:09:32 ....

2011-06-23 14:09:47 U 91.121.101.126:5060 -> 62.202.88.127:51368
2011-06-23 14:09:47 ....
      


On 2011-06-23 13:21, Nicolas Bondier wrote:
Bonjour,

The email was addressed to me, I made the test with Oussama. And it was to late for redaction.

1) First tests, discovering of the empty packet

So, first the test with Astrad, as you know, router close the port and no incomming call are possible.

mysql> select name,ipaddr,port,FROM_UNIXTIME(regseconds) from sippeers2  where name=41215500327;
+-------------+---------------+-------+---------------------------+
| name        | ipaddr        | port  | FROM_UNIXTIME(regseconds) |
+-------------+---------------+-------+---------------------------+
| 41215500327 | 62.202.88.127 | 49699 | 2011-06-22 19:59:39       |
+-------------+---------------+-------+---------------------------+
1 row in set (0.00 sec)

mysql> select name,ipaddr,port,FROM_UNIXTIME(regseconds) from sippeers2  where name=41215500327;
+-------------+---------------+-------+---------------------------+
| name        | ipaddr        | port  | FROM_UNIXTIME(regseconds) |
+-------------+---------------+-------+---------------------------+
| 41215500327 | 62.202.88.127 | 51364 | 2011-06-22 20:50:11       |
+-------------+---------------+-------+---------------------------+
1 row in set (0.00 sec)
      
        

After that, we registered our phone on fr3.youroute.net (91.121.101.126). Here are the results, PortaSip keep the NAT port open by sending empty packet. (Here we see the Hexadecimal data).
The phone was continiously reachable after 3 minutes even more.

# ngrep -x host 62.202.88.127 and port 51368
interface: sis0 (91.121.101.0/255.255.255.0)
filter: (ip or ip6) and ( host 62.202.88.127 and port 51368 )


#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#

        

2) First tests, discovering of the empty packet

Concerning the frequency :

I did the test again this morning and used the ngrep -T option to see the delta time between the precedent and the current packet.
They are sent every 15 seconds. (First delta time doesn't matter, this is the time between I launch the ngrep and first packet).
First I have to know on wich port I have to ngrep :

+-------------+----------------+---------------------+-------------------------------------+---------------------+
| username    | domain         | last_modified       | contact                             | expires             |
+-------------+----------------+---------------------+-------------------------------------+---------------------+
| 41215500336 | 91.121.101.126 | 2011-06-23 10:40:49 | sip:41215500336@62.202.88.127:59954 | 2011-06-23 11:40:49 |
+-------------+----------------+---------------------+-------------------------------------+---------------------+



So the frequency is 4 packets/minutes.

# ngrep -xT host 62.202.88.127 and port 59954
interface: sis0 (91.121.101.0/255.255.255.0)
filter: (ip or ip6) and ( host 62.202.88.127 and port 59954 )
#
U +8.828961 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U +15.010139 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U +15.010191 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U +15.010419 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U +15.010895 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U +15.010522 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....



3) Results of the empty packet

Now, I wait more than 3 minutes on portaSip for these tests, register expires is 1 hour. So no REGISTER during the tests.
They are two ngrep :
- "-t" for a timestamp in the form of YYYY/MM/DD HH:MM:SS.UUUUUU everytime a packet is matched
- "less 64" to keep only the empty packet (they have a 8 bytes lenght.)

FIGURE1
fr3# ngrep -xt host 62.202.88.127 and port 59954 and less 64
interface: sis0 (91.121.101.0/255.255.255.0)
filter: (ip or ip6) and ( host 62.202.88.127 and port 59954 and less 64 )
#
U 2011/06/23 11:31:25.672320 91.121.101.126:5060 -> 62.202.88.127:59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:31:40.682476 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:31:55.692646 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:32:10.702807 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:32:25.712976 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:32:40.723157 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:32:55.781549 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:33:10.791462 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:33:25.801646 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:33:40.874484 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:33:55.884952 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:34:10.895114 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:34:25.905274 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:34:40.915442 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:34:55.925596 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....
#
U 2011/06/23 11:35:10.935767 91.121.101.126:5060 -> 62.202.88.127:
59954
  00 00 00 00                                           ....

Here the second ngrep took in the same time. I just diplay important informations.
Explanations are below.

FIGURE2
fr3# ngrep -pqlt -W byline host 91.121.101.126 and port 59954 | grep -B1 -i 'SIP/2.0[ \.]'
POINT 1
U 2011/06/23 11:31:37.625159 91.121.101.126:5060 -> 62.202.88.127:59954
INVITE sip:41215500336@62.202.88.127:59954 SIP/2.0.

--
POINT 2
U 2011/06/23 11:31:37.678867 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 100 Trying.

--
U 2011/06/23 11:31:37.712628 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 180 Ringing.
--
U 2011/06/23 11:31:46.227591 91.121.101.126:5060 -> 62.202.88.127:59954
CANCEL sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 11:31:46.283354 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 487 Request Terminated.
--
U 2011/06/23 11:31:46.283727 91.121.101.126:5060 -> 62.202.88.127:59954
ACK sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 11:31:46.291192 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 200 OK.
--
POINT 3
U 2011/06/23 11:34:57.319269 91.121.101.126:5060 -> 62.202.88.127:59954
INVITE sip:41215500336@62.202.88.127:59954 SIP/2.0.

--
POINT 4
U 2011/06/23 11:34:57.376691 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 100 Trying.

--
U 2011/06/23 11:34:57.409191 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 180 Ringing.
--
U 2011/06/23 11:35:05.900778 91.121.101.126:5060 -> 62.202.88.127:59954
CANCEL sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 11:35:05.953289 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 487 Request Terminated.
--
U 2011/06/23 11:35:05.953632 91.121.101.126:5060 -> 62.202.88.127:59954
ACK sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 11:35:05.961405 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 200 OK.


As you can see (figure1) PortaSIP send empty packets to the phone during the 225 seconds of the test (3 minutes and 45 seconds) .
1) I first call the phone at the 17th second (figure2.point1), and you can see the Trying (figure2.point1) and Ringing packet from the phone. The phone received the INVITE on port 59954.

2) Second call (figure2.point3) was passed at the 217th second (3 min 20 after the first call). INVITE on the same port 59954.
The phone answer (figure2.point4) with "Trying" and "Ringing". Deduction, it received the INVITE on 59954 port. This port has not been deleted on router.

At the hour of writing this 12h11, my phone is still recheable. My last register was at 11:16:13.

mysql> select username, domain, last_modified, contact, expires from location where username=41215500336;
+-------------+----------------+---------------------+-------------------------------------+---------------------+
| username    | domain         | last_modified       | contact                             | expires             |
+-------------+----------------+---------------------+-------------------------------------+---------------------+

| 41215500336 | 91.121.101.126 | 2011-06-23 11:16:13 | sip:41215500336@62.202.88.127:59954 | 2011-06-23 12:16:13 |
+-------------+----------------+---------------------+-------------------------------------+---------------------+

Here a call test 58 min after my last register.
fr3# ngrep -pqlt -W byline host 91.121.101.126 and port 59954 | grep -B1 -i 'SIP/2.0[ \.]'
U 2011/06/23 12:14:35.943102 91.121.101.126:5060 -> 62.202.88.127:59954
INVITE sip:41215500336@62.202.88.127:59954 SIP/2.0.
--

U 2011/06/23 12:14:36.002660 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 100 Trying.

--
U 2011/06/23 12:14:36.032488 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 180 Ringing.
--
U 2011/06/23 12:14:43.867294 91.121.101.126:5060 -> 62.202.88.127:59954
CANCEL sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 12:14:43.918985 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 487 Request Terminated.
--
U 2011/06/23 12:14:43.919365 91.121.101.126:5060 -> 62.202.88.127:59954
ACK sip:41215500336@62.202.88.127:59954 SIP/2.0.
--
U 2011/06/23 12:14:43.926842 62.202.88.127:59954 -> 91.121.101.126:5060
SIP/2.0 200 OK.


3) Conclusions

I'am really afraid of loosing customer because of that. Hoping this problem will be solved soon.


On 2011-06-23 02:01, Task-By Emin Gabrielyan wrote:
And why you do not write what all this mean? The words are missing!

I see that fr3 is sending empty packets (but cannot see at which frequency)

I see that on astrad the port is changing

But I cannot see at all, whether on fr3 the empty packets are helping, or not.

Is there a capture that with fr3 the port is not changing?

Finally, we discussed empty packets fro the server to UA,
and you was insisting that such packets are useless. What
counts is the packet from UA...

Emin Gabrielyan

Le Jun 22, 2011 à 20:05, Oussama Hammami <oussama.hammami@switzernet.com> a écrit :


# ngrep -x host 62.202.88.127 and port 51368
interface: sis0 (91.121.101.0/255.255.255.0)
filter: (ip or ip6) and ( host 62.202.88.127 and port 51368 )


#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#
U 91.121.101.126:5060 -> 62.202.88.127:51368
  00 00 00 00                                           ....
#

      

changement de port sur astrad
mysql> select name,ipaddr,port,FROM_UNIXTIME(regseconds) from sippeers2  where name=41215500327;
+-------------+---------------+-------+---------------------------+
| name        | ipaddr        | port  | FROM_UNIXTIME(regseconds) |
+-------------+---------------+-------+---------------------------+
| 41215500327 | 62.202.88.127 | 49699 | 2011-06-22 19:59:39       |
+-------------+---------------+-------+---------------------------+
1 row in set (0.00 sec)

mysql> select name,ipaddr,port,FROM_UNIXTIME(regseconds) from sippeers2  where name=41215500327;
+-------------+---------------+-------+---------------------------+
| name        | ipaddr        | port  | FROM_UNIXTIME(regseconds) |
+-------------+---------------+-------+---------------------------+
| 41215500327 | 62.202.88.127 | 51364 | 2011-06-22 20:50:11       |
+-------------+---------------+-------+---------------------------+
1 row in set (0.00 sec)
      

les deux dernieres l'enregistrements sur db2
mysql> select username,domain,last_modified,expires,TIMESTAMPDIFF(SECOND,last_modified,expires) from location where username in (41215500327) order by last_modified desc limit 2;
+-------------+----------------+---------------------+---------------------+---------------------------------------------+
| username    | domain         | last_modified       | expires             | TIMESTAMPDIFF(SECOND,last_modified,expires) |
+-------------+----------------+---------------------+---------------------+---------------------------------------------+
| 41215500327 | 91.121.101.126 | 2011-06-22 19:50:50 | 2011-06-22 20:50:49 |                                        3599 |
| 41215500327 | 94.23.225.212  | 2011-06-22 19:50:12 | 2011-06-22 20:50:11 |                                        3599 |
+-------------+----------------+---------------------+---------------------+---------------------------------------------+
2 rows in set (0.02 sec)

      


On 2011-06-22 17:51, Task-By Nicolas Bondier wrote:
Prendre un téléphone et l'enregistrer sur astrad avec un intervalle d’enregistrement de 3 minutes.
Voir si portasip garde les ports du routeur ouverts.

- Tester les problèmes de no incoming calls.
- Tester si le phénomène est le même sur portasip.