gateway advice needed

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Joel Dodson wrote:
> Hi Robert,
>
> you can still use the jitter buffer and support multiple codecs at
> that layer (I did in my project).  I don't know about mixing the
> streams, I suspect it can be used at the lower layers as well.  Most
> of the APIs seem to be well encapsulated and can be used independently
> of the rest of the packages.
>
> Joel
>
>
> On Tue, Nov 15, 2011 at 4:38 AM, Robert Reif<reif at earthlink.net>  wrote:
>    
>> Joel Dodson wrote:
>>      
>>> Hi Robert,
>>>
>>> I used PJSIP/PJMEDIA to do what sounds like almost exactly what you're
>>> wanting to do.  I used the lower layer APIs, not pjsua.
>>>
>>> I also used the rtp module in PJMEDIA to directly access the rtp and
>>> rtcp packets.  I didn't use the higher level audio port concept.
>>>
>>> Check out siprtp.c and simpleua.c in pjsip-apps/src/samples.  Those
>>> are good examples of how to use the lower level APIs and especially
>>> the pjsip_inv_session and pjmedia_rtp_session (disclaimer, I'm looking
>>> at pjsip 1.6 release, I haven't used pjsip in a while so I hope those
>>> examples and abstractions are still there).  Assuming those
>>> abstractions still exist, they're a great place to start.
>>>
>>> I was able to support several hundred simultaneous g711 based audio
>>> streams through my signaling and media gateway with very low latency.
>>> That was on windows XP running on VMs.  You should be able to get much
>>> more than that on a better hardware configuration.
>>>
>>> good luck,
>>>
>>> Joel
>>>
>>>
>>> On Mon, Nov 14, 2011 at 5:40 PM, Robert Reif<reif at earthlink.net>    wrote:
>>>
>>>        
>>>> I need to develop a SIP gateway on Windows to another networked protocol
>>>> for
>>>> a dynamic number of channels and I am looking at pjsip for the SIP side.
>>>>
>>>> Can I have multiple active users in independent calls and add and
>>>> subtract
>>>> users at runtime?
>>>>
>>>> Can I get access to the PCM audio streams for each user?
>>>>
>>>> Are there any gateway examples available?
>>>>
>>>> I just found this project today and have been reading the documentation
>>>> and
>>>> source code. I built the code and am using it for interoperability
>>>> testing
>>>> and it looks like it will do what I need but I would like some
>>>> conformation
>>>> or advice before I invest a lot of effort.
>>>>
>>>> _______________________________________________
>>>> Visit our blog: http://blog.pjsip.org
>>>>
>>>> pjsip mailing list
>>>> pjsip at lists.pjsip.org
>>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>>
>>>>
>>>>          
>>> _______________________________________________
>>> Visit our blog: http://blog.pjsip.org
>>>
>>> pjsip mailing list
>>> pjsip at lists.pjsip.org
>>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>>
>>>
>>>        
>> Thanks Joel,
>>
>> It's good to know that pjsip can do what I need.  However I would like to
>> work at a higher level because I don't want to restrict what codecs are
>> supported on the SIP side.  I would also like to take advantage of the
>> jitter buffer so I don't want to work with the RTP packets.  I may also have
>> the need in the future to support multiple users calling into a single
>> channel so I might need access to the combiner.  The audio format on the
>> other side of the gateway can be any format, packet size and sample rate and
>> will probably be different than the SIP side.  The library for the other
>> side dynamically handles the buffering, jitter, SRC, format conversions and
>> combining for it's protocols so all it needs is the raw PCM audio stream per
>> channel.
>>
>> _______________________________________________
>> Visit our blog: http://blog.pjsip.org
>>
>> pjsip mailing list
>> pjsip at lists.pjsip.org
>> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>>
>>      
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>    
I'm playing with simpleua.c now just to get a feel for the APIs and how 
they fit together.

It looks like I can replace the sound devices with mem_player and 
mem_capture to get at the streams.

Once that is working, I can start looking at multiple calls, 
registration and finally adding and removing users dynamically.

Thanks for the advice.

Bob.



[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux