Re: [PATCH] UCP/EMI keepalive/UCP31 bug.
Vincent CHAVANIS <[email protected]>
| Newsgroups | gmane.comp.mobile.kannel.devel |
|---|---|
| Message-ID | <[email protected]> |
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)