[OpenSIPS-Users] opensips1.6.1 and Polycom BLA

Zahid Mehmood zm23 at columbia.edu
Fri Feb 12 01:03:31 CET 2010


Anca,
    I'm sending you packet captures directly.

This is what I tried.

   - 3 phones configured for BLA (using same aor and user credentials)
   - phone A and phone B are online.
   - 1st incoming call answered on phone A and placed on hold
   - 2nd incoming call answered on phone B and placed on hold
   - phone C is turned on, it registers and receives notification about 
only ONE call on hold (2nd call)

My guess is that the presence server is only remembering the last NOTIFY 
received, so even though there are 2 calls on hold, when phone C 
subscribes, it receives the last notification received by the BLA server.

Hope this helps.

-- 
Zahid


In my case, phone B was
On 02/09/2010 12:48 PM, Steven C. Blair wrote:
> Thanks,
>
>   What we see is:
>
> When a Polycom handset's registration expires, the REGISTER is sent to SER, which also sends it to OpenSER.
>
> OpenSER then sends a SUBSCRIBE back to the handset through SER.
>
> The handset sends back its presence state using state="full" in the dialog-info.
>
> OpenSER takes this state and applies it to every handset in the BLA group.
>
> The problem is:
>
> Let's say there's an ongoing call in a BLA group that is put on hold.
> Then, there's a second call that comes into the BLA group and is picked up by a handset.
> If this handset happens to re-register at this time, the REGISTER ends up in the handset sending a full state update to OpenSER following the specs above.
>
> This full state update does not contain the information about the first call, so the first call's state is removed from each handset as well as OpenSER.  The handset still think there's a held call but the light turns off and it can no longer be picked up.
>
> Questions / Comments:
>
> Why doesn't the re-registering handset include the status of the first call in its state update to OpenSER when it receives a SUBSCRIBE?
> Should OpenSER ignore the NOTIFY message from re-registering handsets, or should it send its own state to the handset before the SUBSCRIBE?
>
> Or, should the handset be using state="partial" since it's only sending state about the second call?  If so, how can OpenSER ask for a partial update in SUBSCRIBE?
>
> -Steve
>
> -----Original Message-----
> From: users-bounces at lists.opensips.org [mailto:users-bounces at lists.opensips.org] On Behalf Of Anca Vamanu
> Sent: Tuesday, February 09, 2010 12:23 PM
> To: OpenSIPS users mailling list
> Subject: Re: [OpenSIPS-Users] opensips1.6.1 and Polycom BLA
>
> Hi Steven,
>
> Thank you for the in dept analysis of the problem. I have now checked
> the implementation for BLA in opensips and here is the state of OpenSIPS
> BLA from in what those two sections are concerned.
> 8.2 - Subscription timeout
> OpenSIPS BLA sends Subscription when Register messages are received or
> when a registration timeouts. So the case when a Subscribe message is
> not replied can only happen if in the short period when the phone sent
> the Register and OpenSIPS sent the Subscribe went down - and there is
> really very little change this will happen.
> 8.3 - Notify race condition
> The implementation does not handle this case as mentioned in the draft,
> and this could be a problem( maybe exactly the problem that you are
> seeing). OpenSIPS will overwrite the state with the second call, and
> maybe in the mean time the phone that have sent the first Notify has
> already started the call. I will have to work a bit in this part and
> make the logic more strong.
>
> Thanks and regards,
>
>    




More information about the Users mailing list