Andreas Fink a écrit :

On 05.08.2008, at 12:57, Vincent CHAVANIS wrote:


              } else if (emimsg->ot == 31) {
+ PRIVDATA(conn)->last_activity_time = time (NULL); /* XXX Process error codes here
                  if (octstr_get_char(emimsg->fields[0], 0) == 'N') {
                      long errorcode;
not sure why this is needed. Would sound like it would have never worked otherwise...

This is absolutly needed!
Take this exemple
00:00:00 you sent a UCP31
00:00:30 you received an ack of your UCP31
(the SMSC is overloaded in this case)
Then if your keepalive is set to 31 you will send just after 1 sec an other UCP31. And will result to block the sender thread (can_write = 0)

This should never happen if you have window properly set. And while we have traffic, last activity is counting up so keepalive will not be sent out anyway as the activity keeps the link alive. Keepalive is ONLY sent if there is NO activity. But counting keepalive as activity itself doesnt sound wrong neither.

I got the issue.

2008-08-05 15:06:29.984 [22065] [6] DEBUG: EMI2[33030]: emi2 sending packet: <04/00027/O/31/33030/0539/F4> 2008-08-05 15:06:40.393 [22065] [6] DEBUG: EMI2[33030]: Got packet from the main socket 2008-08-05 15:06:40.393 [22065] [6] DEBUG: EMI2[33030]: emi2 parsing packet: <04/00019/R/31/A//6F> 2008-08-05 15:06:40.393 [22065] [6] DEBUG: EMI2[33030]: emi2 sending packet: <05/00027/O/31/33030/0539/F5> 2008-08-05 15:06:40.533 [22065] [6] DEBUG: EMI2[33030]: Got packet from the main socket 2008-08-05 15:06:40.533 [22065] [6] DEBUG: EMI2[33030]: emi2 parsing packet: <05/00019/R/31/A//70>


-> 10.409sec to ack my UCP31
If my keepalive is less or equal than 10sec, i will be on the explained case. While the SMSC will ack > 10sec we will not able to do anything.
We must find a workaround for this.

But i agree, this link has low traffic.

Vincent.


--
Telemaque - 06560 SOPHIA-ANTIPOLIS - (FR)
Service Technique/Reseau - NOC
Direction du Developpement xMS+
http://www.telemaque.fr/
[EMAIL PROTECTED]
Tel : +33 4 92 90 99 84 (fax 9142)


Reply via email to