Mauro,

No problem, please keep me posted.

Btw i'm curious: understand you're using WengoPhone 2.1 code base for your project, so
what is the reason not using more recent QuteCom?

Thanks
Vadim

Mauro Sérgio Ferreira Brasil wrote:
Hi Vadim,

Unfortunatelly, my efforts on Qutecom codes are delimited by our customer's needs.

On next few days I'll be envolved on general maintenance and little bug fixes on their client.
Next week I expect to have some time to dedicate to packetization handling on both sides issue that will shortly become a demanding to them.

Good new is that this payload number issue should raise on their needs shortly too, because of usability of Asterisk servers nowadays.

Sorry I can not help you on this now.
But I'll contact you if our customer ask us about this.

Thanks and best regards,
Mauro.



Vadim Lebedev escreveu:
Mauro,

QuteCom does handles INCOMING ptime... 

I wanted howevre to raise another issue - payload number negotiation.
The current implementation is somewhat deficiant because  the
code in wifo/eXosip/sdp_offans.c  compairs only payload numbers during negtiation.
So if we receive an SDP  where iLBC is mapped to 95  (I think this is what Asterisk uses) we will refuse it because we use 111 as payload nr for iLBC.

Can you take a look at this?


Thanks
Vadim






Mauro Sérgio Ferreira Brasil wrote:
Hi Vadim,

I remember of seeing this "EXOSIP_FORCE_PTIME" on some part of the code.
Will this fixes provide the necessary means to handle a "ptime" received during a call received? (This is my principal demand here...)

Anyway, I'll keep you informed of my further analysis about the maintenance as I've suggested to you, if I could put a hand on it.

Thanks,
Mauro.



Vadim Lebedev escreveu:
Mauro,

Actually, if you'll look into source of QuteCom, you'll see that there is alredy
support for setting ptime on outgoing SDP  (look for usage of getenv("EXOSIP_FORCE_PTIME"))
In phmedia-audio.c there is support for packet resegmenattion too - handling of unexpected packet size,
this stuff is somewhat buggy we're going to commit fixes today....

Thanks
Vadim

Mauro Sérgio Ferreira Brasil wrote:
Vadim,

Yeah... that was funny... :-)
As funny as myself realizing the scenario you put on your reply, right after I've clicked on "Send Now"... I remembered Hommer Simpson's usual screem after he does a very stupid thing :-)

About the list, I was not very clear on my explanation.
I was intending to send all messages to the list, but just direct the arguing to you. I need more practice on english language... :-)

When I've sent you the email, I was considering the INVITE as qutecom libraries send it by now that, if I'm not wrong, don't have a "ptime" attribute. On this scenario I think we wouldn't have problems.
Unfortunately, our customer has already demanded an adjustment to add this parameter when their version of "g729" is used.
So, you are right, we need to work with different packetization sizes.

Anyway, this is the best thing to do, despite of the painfull consequences :-)

Now, I need to be very frank with you.
Althought I want very much to make this patch, it could demand a considerable amount of time (maybe not) and I need to validate with our customer whether it will be done by now.

I think the best place to make it work is on "ph_call_media_start" where we will invoke methods that will get "ptime" and "fmtp" values that are used today, extracting them from local and remote SDP and associating them with correct "ipayloads" and "opayloads" (hum... it seems it will be easier I firstly thought).
That way, the rest of code will be kept without changes, right ?

Thanks,
Mauro.



Vadim Lebedev escreveu:
Mauro,

First of all, it is really funny you rais the subject, because i was writing and email to you rasing it myself :)

Second, i think it preferable to keep the discussion on the list, so other people will be aware and
be able to make sugestions.

Third, while your approach will work in most situations what will happen if
you send an INVITE with ptime=30 and receive an 200 ok with ptime=20....
You'll HAVE to work with different packetizations for each direction.


Thanks
Vadim



Mauro Sérgio Ferreira Brasil wrote:
Hello there!

Vadim,

Considering that the last change suggestion was handled by you and that this one will be related with the same subject "packetization", I think it would be better to talk directly with you.
Please let me know whether I should contact another person on this list.

We've made additional changes on codes here regarding packetization parameters that are not being handled when the call is received by the user.
For example: if someone makes a call to our application that uses qutecom libraries and informs a "ptime" different from default "20"ms, this parameter won't be handled. The other client will send audio data on a different packetization that expected by our client, making audio incomprehensible.

This happens because when "ph_call_media_start" is called by the user that accepts a call through "phAcceptCall3", the "eXosip_event_t *je" parameter is NULL.
On calls that are initiated by the user, this is the parameter that carries the "ptime" and "fmtp" info used to calculate the final packetization.

This issue involves two major points:

1- Will we work with different packetizations for incoming and outgoing audio ?

2- Considering that we choose to work with only one packetization for incoming and outgoing audio, how and where will we make some kind of negotiation to get this working ?

As long as I could understand by all the research I've done, one client MUST provide the packetization expected by the other client (if informed through "ptime", "mode" or another mean), and incoming and outcoming packetization COULD be different.

Nevertheless, for the sake of simplicity and to reduce code changes, I choose to work with same packetization on both audio channels.

Since I choose to work with same packetization, I needed to validate the better way to "save" the packetization info received from the caller, and make a kind of negotiation to define which attributes received from the caller that will be "incorporated" on local SDP.
For example: If a caller send a SDP with "ptime=30", or a "mode=30" for "fmtp" attribute of a iLBC media, I incorporate these values to the local SDP, so they can be sent back as confirmation to the originator and handled internally by the code already existent.

Before I send my patches, that are still demanding some little adjustments, I would like to get an initial feeling from you of what I've described above.

Thanks and best regards,

 




--
TQI - Technology and Quality on Information
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [EMAIL PROTECTED]
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572


--
TQI - Technology and Quality on Information
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [EMAIL PROTECTED]
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572


--
TQI - Technology and Quality on Information
At.,                                                                                                                               
 
Technology and Quality on Information
Mauro Sérgio Ferreira Brasil
Coordenador de Projetos e Analista de Sistemas
+ [EMAIL PROTECTED]
: www.tqi.com.br
( + 55 (34)3291-1700
( + 55 (34)9971-2572

_______________________________________________
QuteCom-dev mailing list
[email protected]
http://lists.qutecom.org/mailman/listinfo/qutecom-dev

Reply via email to