Hello,
attached patch shows a new function in sdpops module: sdp_get_ip_c
It receives as parameter an avp variable, and stores there every connection IP for each stream. If a stream has not c IP, then it returns session default one.
Any opinion or criticism?
Kind regards, Vicente.
Hi Vicente,
It's my personal but I think would be good to also have another one function to extract a port of media stream. Because of no 'sdp_get_ip_c' and no something like 'sdp_get_port_c' - I have to parse sdb body by python script just to fetch IP/PORT of media stream...
2012/9/7 Vicente Hernando vhernando@systemonenoc.com
Hello Konstantin,
attached patch provides a function that gets ports and stores them in an AVP variable.
However, there are other approaches to create these functions:
- A function to return each parameter (sdp_get_ip_c, sdp_get_port, etc)
- An only function sdp_get_address which return two AVP variables, IP and port for each stream.
- A generic function sdp_get_stream_info which receives an enum indicating what variable do you like and return it.
- Two functions: sdp_get_stream_count, sdp_get_stream_info(stream_num, enum_variable, pseudo_variable) First would get total number of streams (asuming one session in offer/answer way), and second function would return that variable value for a stream.
Daniel, as sdpops maintainer which approach would you rather?
Kind regards, Vicente.
On 09/07/2012 04:37 PM, Konstantin M. wrote:
Hello Vicente,
Thank you very much. I will test it as soon as possible and tell about a results...
2012/9/11 Vicente Hernando vhernando@systemonenoc.com
Hello,
I think that it would be better to have a generic function in the configuration file like:
sdp_get_attr(line, attr, result)
Where line can be: m, c, o, etc ...
The attr can be: ip, port, ...
For the moment, this function will be a wrapper around the two functions, so it supports: - sdp_get_attr("m", "port", result) - sdp_get_attr("c", "ip", result)
There are many attributes that can be returned, thus it can results in dozens of the configuration file functions if we go for one per attribute.
What do you think?
Also, at some point I should add a PV class for sdp access (if nobody will do it meanwhile).
Cheers, Daniel
On 9/11/12 11:51 AM, Vicente Hernando wrote:
Hello Daniel
2012/9/11 Daniel-Constantin Mierla miconda@gmail.com
But how to specify a line if a multiple 'a' or 'm' will be in sdp body ? For example this one: ------- a=recvonly m=audio 49170 RTP/AVP 0 m=video 51372 RTP/AVP 31 m=application 32416 udp wb a=orient:portrait ------- or: ------- m=audio 19000 RTP/AVP 0 101 a=recvonly a=rtpmap:0 pcmu/8000 a=rtpmap:101 telephone-event/8000 -------
There are many attributes that can be returned, thus it can results in
Hello,
On 9/11/12 5:59 PM, Konstantin M. wrote:
it's the current behaviour, as I can see in the patches, it takes all the values and adds them to an avp list.
So my proposal was not make a single function that can be controlled via parameters, than lot of new functions.
When there will be a PV for it, there should be some indexes to access specific lines.
Cheers, Daniel
Hello Daniel,
2012/9/11 Daniel-Constantin Mierla miconda@gmail.com
When there will be a PV for it, there should be some indexes to access
specific lines.
Yes I think it's a good idea...
Hello,
On 09/11/2012 07:41 PM, Daniel-Constantin Mierla wrote:
Both ways sdp_get_attr function and PV class seem good to me.
I can create a class variable like $redis in redis module, but I find several issues:
If we return several results then they are referred by an index: $sdl(c=>IP[0]) $sdl(c=>IP[1]), then we could need a size function here.
If joining every result together makes no sense and we would rather to show them within each stream, (e.g: showing a:fmtp) then having two indexes is the way to go? (first one for the stream and second one for the specific a:fmtp)
That assuming we only have one session (offer/answer model), if not three indexes would be needed.
Another idea could be having two PV: $sdl_session $sdl_stream
Kind regards, Vicente.