Call for Symbian S60 testers for APS-direct

PI
Perry Ismangil
Thu, Feb 12, 2009 3:51 PM

Hi All,

As we finish the current iteration of Symbian S60 implementation, most
importantly the implementation of APS-direct, we need all of you to
participate in testing it. This is from experience we know mobile
devices are very tricky and can behave differently from one firmware
to another.

So we need as many Symbian S60 3rd Edition phone as possible.

To do this we need your IMEI and a few other details, this is because
the requirements of Symbian Signed, we need to 'burn' your IMEI into
our test application.

Don't reply with your details to the public list, instead fill in this
form: http://l.teluu.com/symbiantesting

We can't promise everyone will be accepted, because there is a hard
limit to the number of IMEIs we can burn, and we'll prioritize
variation of devices, rather than first come first serve.

If you can get your friends family neighbours to join in that will be
even better.

If you any questions, you can contact me.

Thank you all!

--
Perry Ismangil

Hi All, As we finish the current iteration of Symbian S60 implementation, most importantly the implementation of APS-direct, we need all of you to participate in testing it. This is from experience we know mobile devices are very tricky and can behave differently from one firmware to another. So we need as many Symbian S60 3rd Edition phone as possible. To do this we need your IMEI and a few other details, this is because the requirements of Symbian Signed, we need to 'burn' your IMEI into our test application. Don't reply with your details to the public list, instead fill in this form: http://l.teluu.com/symbiantesting We can't promise everyone will be accepted, because there is a hard limit to the number of IMEIs we can burn, and we'll prioritize variation of devices, rather than first come first serve. If you can get your friends family neighbours to join in that will be even better. If you any questions, you can contact me. Thank you all! -- Perry Ismangil
PI
Perry Ismangil
Thu, Feb 12, 2009 4:49 PM

Ok, there was some issue with the link I gave, it should be sorted now.

There is an alternative link:
https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ

Let me know if it stops you again.

2009/2/12 Perry Ismangil perry@teluu.com:

Hi All,

As we finish the current iteration of Symbian S60 implementation, most
importantly the implementation of APS-direct, we need all of you to
participate in testing it. This is from experience we know mobile
devices are very tricky and can behave differently from one firmware
to another.

So we need as many Symbian S60 3rd Edition phone as possible.

To do this we need your IMEI and a few other details, this is because
the requirements of Symbian Signed, we need to 'burn' your IMEI into
our test application.

Don't reply with your details to the public list, instead fill in this
form: http://l.teluu.com/symbiantesting

We can't promise everyone will be accepted, because there is a hard
limit to the number of IMEIs we can burn, and we'll prioritize
variation of devices, rather than first come first serve.

If you can get your friends family neighbours to join in that will be
even better.

If you any questions, you can contact me.

Thank you all!

--
Perry Ismangil

--
Perry Ismangil
Managing Partner

Teluu - Communicate Everywhere

E perry@teluu.com
twitter.com/ismangil
T +44 114 299 8883
F +44 870 974 9023
W http://www.teluu.com

23 Langdon Street, Sheffield S11 8BH, United Kingdom

Registered in England as Teluu LLP, no. OC323977

Ok, there was some issue with the link I gave, it should be sorted now. There is an alternative link: https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ Let me know if it stops you again. 2009/2/12 Perry Ismangil <perry@teluu.com>: > Hi All, > > As we finish the current iteration of Symbian S60 implementation, most > importantly the implementation of APS-direct, we need all of you to > participate in testing it. This is from experience we know mobile > devices are very tricky and can behave differently from one firmware > to another. > > So we need as many Symbian S60 3rd Edition phone as possible. > > To do this we need your IMEI and a few other details, this is because > the requirements of Symbian Signed, we need to 'burn' your IMEI into > our test application. > > Don't reply with your details to the public list, instead fill in this > form: http://l.teluu.com/symbiantesting > > We can't promise everyone will be accepted, because there is a hard > limit to the number of IMEIs we can burn, and we'll prioritize > variation of devices, rather than first come first serve. > > If you can get your friends family neighbours to join in that will be > even better. > > If you any questions, you can contact me. > > Thank you all! > > -- > Perry Ismangil > -- Perry Ismangil Managing Partner Teluu - Communicate Everywhere E perry@teluu.com twitter.com/ismangil T +44 114 299 8883 F +44 870 974 9023 W http://www.teluu.com 23 Langdon Street, Sheffield S11 8BH, United Kingdom Registered in England as Teluu LLP, no. OC323977
I
iajdani@provati.com
Fri, Feb 13, 2009 10:19 PM

Hello,
I already started testing code as I need them soon.

Device N95
OS: 9.2
SDK: FP1

It did compile for me
as instructed. But fails at in PJMEDIA conference.c line 1701 in get_frame
function

pj_assert(frame->size ==
conf->samples_per_frame * conf->bits_per_sample / 8);
It fails in the above logic and the application quits. 

I also found few problems in switchin codec but yet to figure out
whether default using the APS or not. seems like default is not, only when
I switch the codec.

Thanks
Rawshan

Ok, there was some issue with the link I

gave, it should be sorted now.

There is an

alternative link:

Let me know if it stops you again.

2009/2/12 Perry Ismangil perry@teluu.com:

Hi All,

As we finish the current iteration of

Symbian S60 implementation, most

importantly the

implementation of APS-direct, we need all of you to

participate in testing it. This is from experience we know mobile

devices are very tricky and can behave differently from one

firmware

to another.

So we

need as many Symbian S60 3rd Edition phone as possible.

To do this we need your IMEI and a few other details, this is

because

the requirements of Symbian Signed, we need to

'burn' your IMEI into

our test application.

Don't reply with your details to the public list, instead

fill in this

form: http://l.teluu.com/symbiantesting

We can't promise everyone will be accepted,

because there is a hard

limit to the number of IMEIs we can

burn, and we'll prioritize

variation of devices, rather

than first come first serve.

If you can get

your friends family neighbours to join in that will be

even

better.

If you any questions, you can

contact me.

Thank you all!

--
Perry Ismangil

--
Perry Ismangil

Managing Partner

Teluu - Communicate Everywhere

E perry@teluu.com
twitter.com/ismangil
T +44 114 299 8883
F +44 870 974 9023
W

23 Langdon Street,

Sheffield S11 8BH, United Kingdom

Registered in England as Teluu LLP, no. OC323977


Visit our blog:

pjsip mailing list

Hello, I already started testing code as I need them soon. Device N95 OS: 9.2 SDK: FP1 It did compile for me as instructed. But fails at in PJMEDIA conference.c line 1701 in get_frame function pj_assert(frame->size == conf->samples_per_frame * conf->bits_per_sample / 8); It fails in the above logic and the application quits.  I also found few problems in switchin codec but yet to figure out whether default using the APS or not. seems like default is not, only when I switch the codec. Thanks Rawshan > Ok, there was some issue with the link I gave, it should be sorted now. > > There is an alternative link: > https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ > > Let me know if it stops you again. > > 2009/2/12 Perry Ismangil <perry@teluu.com>: >> Hi All, >> >> As we finish the current iteration of Symbian S60 implementation, most >> importantly the implementation of APS-direct, we need all of you to >> participate in testing it. This is from experience we know mobile >> devices are very tricky and can behave differently from one firmware >> to another. >> >> So we need as many Symbian S60 3rd Edition phone as possible. >> >> To do this we need your IMEI and a few other details, this is because >> the requirements of Symbian Signed, we need to 'burn' your IMEI into >> our test application. >> >> Don't reply with your details to the public list, instead fill in this >> form: http://l.teluu.com/symbiantesting >> >> We can't promise everyone will be accepted, because there is a hard >> limit to the number of IMEIs we can burn, and we'll prioritize >> variation of devices, rather than first come first serve. >> >> If you can get your friends family neighbours to join in that will be >> even better. >> >> If you any questions, you can contact me. >> >> Thank you all! >> >> -- >> Perry Ismangil >> > > > > -- > Perry Ismangil > Managing Partner > > Teluu - Communicate Everywhere > > E perry@teluu.com > twitter.com/ismangil > T +44 114 299 8883 > F +44 870 974 9023 > W http://www.teluu.com > > > 23 Langdon Street, Sheffield S11 8BH, United Kingdom > > > Registered in England as Teluu LLP, no. OC323977 > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
PI
Perry Ismangil
Sat, Feb 14, 2009 11:44 AM

Hi,

We're not quite ready yet, still undergoing internal testing.

This an draft of the how to use it:
https://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct

Again it's not quite finished, some details might be missing.

If you want to test the binary version, don't forget to add your phone
to https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ

On Fri, Feb 13, 2009 at 22:19,  iajdani@provati.com wrote:

Hello,
I already started testing code as I need them soon.

Device N95
OS: 9.2
SDK: FP1

It did compile for me as instructed. But fails at in PJMEDIA conference.c
line 1701 in get_frame function

pj_assert(frame->size == conf->samples_per_frame * conf->bits_per_sample /
8);

It fails in the above logic and the application quits.

I also found few problems in switchin codec but yet to figure out whether
default using the APS or not. seems like default is not, only when I switch
the codec.

Thanks
Rawshan

Ok, there was some issue with the link I gave, it should be sorted now.

There is an alternative link:
https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ

Let me know if it stops you again.

2009/2/12 Perry Ismangil perry@teluu.com:

Hi All,

As we finish the current iteration of Symbian S60 implementation, most
importantly the implementation of APS-direct, we need all of you to
participate in testing it. This is from experience we know mobile
devices are very tricky and can behave differently from one firmware
to another.

So we need as many Symbian S60 3rd Edition phone as possible.

To do this we need your IMEI and a few other details, this is because
the requirements of Symbian Signed, we need to 'burn' your IMEI into
our test application.

Don't reply with your details to the public list, instead fill in this
form: http://l.teluu.com/symbiantesting

We can't promise everyone will be accepted, because there is a hard
limit to the number of IMEIs we can burn, and we'll prioritize
variation of devices, rather than first come first serve.

If you can get your friends family neighbours to join in that will be
even better.

If you any questions, you can contact me.

Thank you all!

--
Perry Ismangil

--
Perry Ismangil
Managing Partner

Teluu - Communicate Everywhere

E perry@teluu.com
twitter.com/ismangil
T +44 114 299 8883
F +44 870 974 9023
W http://www.teluu.com

23 Langdon Street, Sheffield S11 8BH, United Kingdom

Registered in England as Teluu LLP, no. OC323977


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

--
Perry Ismangil

Hi, We're not quite ready yet, still undergoing internal testing. This an draft of the how to use it: https://trac.pjsip.org/repos/wiki/Nokia_APS_VAS_Direct Again it's not quite finished, some details might be missing. If you want to test the binary version, don't forget to add your phone to https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ On Fri, Feb 13, 2009 at 22:19, <iajdani@provati.com> wrote: > Hello, > I already started testing code as I need them soon. > > Device N95 > OS: 9.2 > SDK: FP1 > > It did compile for me as instructed. But fails at in PJMEDIA conference.c > line 1701 in get_frame function > > pj_assert(frame->size == conf->samples_per_frame * conf->bits_per_sample / > 8); > > It fails in the above logic and the application quits. > > I also found few problems in switchin codec but yet to figure out whether > default using the APS or not. seems like default is not, only when I switch > the codec. > > > Thanks > Rawshan > > > > > > >> Ok, there was some issue with the link I gave, it should be sorted now. >> >> There is an alternative link: >> https://spreadsheets.google.com/viewform?key=p73LYJuTbrW9RhzjVhPSMbQ >> >> Let me know if it stops you again. >> >> 2009/2/12 Perry Ismangil <perry@teluu.com>: >>> Hi All, >>> >>> As we finish the current iteration of Symbian S60 implementation, most >>> importantly the implementation of APS-direct, we need all of you to >>> participate in testing it. This is from experience we know mobile >>> devices are very tricky and can behave differently from one firmware >>> to another. >>> >>> So we need as many Symbian S60 3rd Edition phone as possible. >>> >>> To do this we need your IMEI and a few other details, this is because >>> the requirements of Symbian Signed, we need to 'burn' your IMEI into >>> our test application. >>> >>> Don't reply with your details to the public list, instead fill in this >>> form: http://l.teluu.com/symbiantesting >>> >>> We can't promise everyone will be accepted, because there is a hard >>> limit to the number of IMEIs we can burn, and we'll prioritize >>> variation of devices, rather than first come first serve. >>> >>> If you can get your friends family neighbours to join in that will be >>> even better. >>> >>> If you any questions, you can contact me. >>> >>> Thank you all! >>> >>> -- >>> Perry Ismangil >>> >> >> >> >> -- >> Perry Ismangil >> Managing Partner >> >> Teluu - Communicate Everywhere >> >> E perry@teluu.com >> twitter.com/ismangil >> T +44 114 299 8883 >> F +44 870 974 9023 >> W http://www.teluu.com >> >> >> 23 Langdon Street, Sheffield S11 8BH, United Kingdom >> >> >> Registered in England as Teluu LLP, no. OC323977 >> >> _______________________________________________ >> Visit our blog: http://blog.pjsip.org >> >> pjsip mailing list >> pjsip@lists.pjsip.org >> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >> > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > -- Perry Ismangil
I
iajdani@provati.com
Sun, Feb 15, 2009 8:18 PM

I am trying to play ringtone to the caller at 180 response. What I
wrote in on_call_state callback is given below. The code just execute fine
but no ringtone in my earpiece. I am now using APS-DIRECT.

case PJSIP_INV_STATE_EARLY:
if (g_call_id ==
PJSUA_INVALID_ID)
g_call_id = call_id;
if (g_cb.on_call_connected) {
static wchar_t
msg[256];

g_cb.on_call_ringing(msg);
 

/Ring Tone Code**/

 
#define SAMPLES_PER_FRAME 64
#define ON_DURATION 100
#define OFF_DURATION 100
 
pj_pool_t *ring_pool;
pjmedia_port *ring_port;
pj_status_t status;
 
ring_pool = pjsua_pool_create("krypt_ring",
4000, 4000);
 
 
status = pjmedia_tonegen_create(ring_pool,
8000, 1, SAMPLES_PER_FRAME, 16, 0,
&ring_port);
if (status != PJ_SUCCESS)
return;
 
{
pjmedia_tone_desc tones[3];
 
tones[0].freq1 = 200;
tones[0].freq2 = 0;
tones[0].on_msec = ON_DURATION;
tones[0].off_msec = OFF_DURATION;
 
tones[1].freq1 = 400;
tones[1].freq2 = 0;
tones[1].on_msec = ON_DURATION;
tones[1].off_msec = OFF_DURATION;
 
tones[2].freq1 = 800;
tones[2].freq2 = 0;
tones[2].on_msec = ON_DURATION;
tones[2].off_msec = OFF_DURATION;
 
status = pjmedia_tonegen_play(ring_port, 3,
tones, 0);

}
 
pjmedia_port_destroy(ring_port);

pj_pool_release( ring_pool );

 

/end
ringtone
/
}
 

I am trying to play ringtone to the caller at 180 response. What I wrote in on_call_state callback is given below. The code just execute fine but no ringtone in my earpiece. I am now using APS-DIRECT. case PJSIP_INV_STATE_EARLY: if (g_call_id == PJSUA_INVALID_ID) g_call_id = call_id; if (g_cb.on_call_connected) { static wchar_t msg[256]; g_cb.on_call_ringing(msg);   /*******************Ring Tone Code*********************/   #define SAMPLES_PER_FRAME 64 #define ON_DURATION 100 #define OFF_DURATION 100   pj_pool_t *ring_pool; pjmedia_port *ring_port; pj_status_t status;   ring_pool = pjsua_pool_create("krypt_ring", 4000, 4000);     status = pjmedia_tonegen_create(ring_pool, 8000, 1, SAMPLES_PER_FRAME, 16, 0, &ring_port); if (status != PJ_SUCCESS) return;   { pjmedia_tone_desc tones[3];   tones[0].freq1 = 200; tones[0].freq2 = 0; tones[0].on_msec = ON_DURATION; tones[0].off_msec = OFF_DURATION;   tones[1].freq1 = 400; tones[1].freq2 = 0; tones[1].on_msec = ON_DURATION; tones[1].off_msec = OFF_DURATION;   tones[2].freq1 = 800; tones[2].freq2 = 0; tones[2].on_msec = ON_DURATION; tones[2].off_msec = OFF_DURATION;   status = pjmedia_tonegen_play(ring_port, 3, tones, 0); }   pjmedia_port_destroy(ring_port); pj_pool_release( ring_pool );   /*****************************end ringtone*****************************/ }  
I
iajdani@provati.com
Sun, Feb 15, 2009 8:41 PM

I think I am missing pjmedia_port here. 
What is the API to
check the currently active pjmedia_port ??? The sound port is already
active in symbian_ua I suppose. So I need to grab that pjmedia instead of
creating new one????????

Rawshan

I am trying to play ringtone

to the caller at 180 response. What I

wrote in on_call_state

callback is given below. The code just execute fine

but no

ringtone in my earpiece. I am now using APS-DIRECT.

case PJSIP_INV_STATE_EARLY:
if (g_call_id ==
PJSUA_INVALID_ID)
g_call_id = call_id;
if

(g_cb.on_call_connected) {

static wchar_t
msg[256];

g_cb.on_call_ringing(msg);

 

/Ring Tone Code**/

 
#define SAMPLES_PER_FRAME 64
#define ON_DURATION 100
#define OFF_DURATION 100
 
pj_pool_t *ring_pool;
pjmedia_port

*ring_port;

pj_status_t status;
 

ring_pool = pjsua_pool_create("krypt_ring",

4000,

4000);

 
 
status =

pjmedia_tonegen_create(ring_pool,

8000, 1, SAMPLES_PER_FRAME,

16, 0,

&ring_port);
if (status != PJ_SUCCESS)

return;
 
{

pjmedia_tone_desc tones[3];

 
tones[0].freq1 =

200;

tones[0].freq2 = 0;
tones[0].on_msec =

ON_DURATION;

tones[0].off_msec = OFF_DURATION;

 

tones[1].freq1 = 400;
tones[1].freq2 = 0;
tones[1].on_msec = ON_DURATION;
tones[1].off_msec =

OFF_DURATION;

 
tones[2].freq1 = 800;
tones[2].freq2 = 0;
tones[2].on_msec = ON_DURATION;
tones[2].off_msec = OFF_DURATION;
 

status = pjmedia_tonegen_play(ring_port, 3,

tones, 0);

}
 

pjmedia_port_destroy(ring_port);

pj_pool_release( ring_pool );

 

/*****************************end

ringtone*****************************/

}
 


Visit our blog: http://blog.pjsip.org

pjsip

mailing list

I think I am missing pjmedia_port here.  What is the API to check the currently active pjmedia_port ??? The sound port is already active in symbian_ua I suppose. So I need to grab that pjmedia instead of creating new one???????? Rawshan > > > > I am trying to play ringtone to the caller at 180 response. What I > wrote in on_call_state callback is given below. The code just execute fine > but no ringtone in my earpiece. I am now using APS-DIRECT. > > > case PJSIP_INV_STATE_EARLY: > if (g_call_id == > PJSUA_INVALID_ID) > g_call_id = call_id; > if (g_cb.on_call_connected) { > static wchar_t > msg[256]; > > > > > > g_cb.on_call_ringing(msg); >   > > /*******************Ring Tone Code*********************/ > > >   > #define SAMPLES_PER_FRAME 64 > #define ON_DURATION 100 > #define OFF_DURATION 100 >   > pj_pool_t *ring_pool; > pjmedia_port *ring_port; > pj_status_t status; >   > ring_pool = pjsua_pool_create("krypt_ring", > 4000, 4000); >   >   > status = pjmedia_tonegen_create(ring_pool, > 8000, 1, SAMPLES_PER_FRAME, 16, 0, > &ring_port); > if (status != PJ_SUCCESS) > return; >   > { > pjmedia_tone_desc tones[3]; >   > tones[0].freq1 = 200; > tones[0].freq2 = 0; > tones[0].on_msec = ON_DURATION; > tones[0].off_msec = OFF_DURATION; >   > tones[1].freq1 = 400; > tones[1].freq2 = 0; > tones[1].on_msec = ON_DURATION; > tones[1].off_msec = OFF_DURATION; >   > tones[2].freq1 = 800; > tones[2].freq2 = 0; > tones[2].on_msec = ON_DURATION; > tones[2].off_msec = OFF_DURATION; >   > status = pjmedia_tonegen_play(ring_port, 3, > tones, 0); > > > > > > > > > > > > > > > > > > > > > > > > > } >   > pjmedia_port_destroy(ring_port); > > pj_pool_release( ring_pool ); > >   > > > /*****************************end > ringtone*****************************/ > } >   > > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
BP
Benny Prijono
Mon, Feb 16, 2009 8:49 AM

On Sun, Feb 15, 2009 at 8:18 PM, iajdani@provati.com wrote:

I am trying to play ringtone to the caller at 180 response. What I wrote in
on_call_state callback is given below. The code just execute fine but no
ringtone in my earpiece. I am now using APS-DIRECT.

First of all, the aps-direct branch is supposed to be an internal branch and
we're not quite finished with it so expect few rough edges here and there.
Even the API is not quite finalized yet, so it's really not ready to be used
for anything. But I do appreciate, and surprised at the same time, with the
level of interests that this has generated.

Answering your question. When using APS-Direct, you always need to remember
that the whole point of having APS-Direct is to enable codec compression in
sound device (APS/VAS), hence to let encoded frames flowing end-to-end from
the microphone down to the socket and vice versa.

The sample on_stream_created() snippet shows how to open the sound device in
codec format according to the codec being used by the call. So since the
sound device is opened in codec mode, you can't no longer feed it with PCM
frames (e.g. the tone generator).

To use the tone generator (or any other pjmedia features that works on PCM
frames such as WAV files), you will need to open the sound device in PCM
mode to play the ring tones, then when you want to communicate with the
call/stream, you will need to close the sound device, and re-open it using
the codec that is used by the call.

The on_stream_created() snippet currently doesn't show how to do this, so
you need to do it yourself.

cheers
Benny

On Sun, Feb 15, 2009 at 8:18 PM, <iajdani@provati.com> wrote: > I am trying to play ringtone to the caller at 180 response. What I wrote in > on_call_state callback is given below. The code just execute fine but no > ringtone in my earpiece. I am now using APS-DIRECT. > First of all, the aps-direct branch is supposed to be an internal branch and we're not quite finished with it so expect few rough edges here and there. Even the API is not quite finalized yet, so it's really not ready to be used for anything. But I do appreciate, and surprised at the same time, with the level of interests that this has generated. Answering your question. When using APS-Direct, you always need to remember that the whole point of having APS-Direct is to enable codec compression in sound device (APS/VAS), hence to let encoded frames flowing end-to-end from the microphone down to the socket and vice versa. The sample on_stream_created() snippet shows how to open the sound device in codec format according to the codec being used by the call. So since the sound device is opened in codec mode, you can't no longer feed it with PCM frames (e.g. the tone generator). To use the tone generator (or any other pjmedia features that works on PCM frames such as WAV files), you will need to open the sound device in PCM mode to play the ring tones, then when you want to communicate with the call/stream, you will need to close the sound device, and re-open it using the codec that is used by the call. The on_stream_created() snippet currently doesn't show how to do this, so you need to do it yourself. cheers Benny
I
iajdani@provati.com
Mon, Feb 16, 2009 8:27 PM

Thanks Benny for your help. It was really insightfull. The good news is
the application initially initialized as PCM mode. I think I know how to
open it up in PCM mode as well. I successfully created the ringtone and
could play it as well. But the bad news is, once ringtone is played I am
unable to disconnect the sound port. The on_stream_created callback suppose to disconnect
that automatically and well it does, but I loose the calles sound. after
that my phone looses sound but i can hear sound in the other side.

The way i did that. I opened up a media port for ring tone. then i
assigned that to conference port with pjsua_conf_add_port. then i connect
the conference id with master conference port id 0. now when i play the
ringtone i can hear.
I think somehow I am missing something
here. 

  #define SAMPLES_PER_FRAME   64
    #define
ON_DURATION         1500
    #define
OFF_DURATION        2500

      
    status = pjmedia_tonegen_create2(app_pool, NULL
,8000, 1, SAMPLES_PER_FRAME, 16, 0, &ring_port);
    if (status != PJ_SUCCESS)   
        return;
 
    status = pjsua_conf_add_port(
app_pool,ring_port,&c_id);
 
   
pjsua_conf_connect(c_id,0);
   
  
   if (status != PJ_SUCCESS) {
    
PJ_LOG(1,(THIS_FILE, "connecting ring port failed to device,
status=%d", status));
     return;
   }
 
   {

   pjmedia_tone_desc tones[1];
       
  
tones[0].freq1 = 400;
   tones[0].freq2 = 0;
   tones[0].on_msec = ON_DURATION;
  
tones[0].off_msec = OFF_DURATION;

   status = pjmedia_tonegen_play(ring_port, 1,
tones,1);

/********for deinitialization/

   if (ring_port){
 pjmedia_tonegen_stop(ring_port);
 pjsua_conf_disconnect(0,c_id);
 pjsua_conf_remove_port(c_id);
 pjmedia_port_destroy(ring_port);
 ring_port=NULL;
 return PJ_TRUE;
     }

On Sun, Feb 15, 2009 at 8:18 PM, iajdani@provati.com

wrote:

I am trying to play ringtone to the

caller at 180 response. What I wrote

in

on_call_state callback is given below. The code just execute fine but no

ringtone in my earpiece. I am now using APS-DIRECT.

First of all, the aps-direct branch is

supposed to be an internal branch

and
we're not

quite finished with it so expect few rough edges here and there.

Even the API is not quite finalized yet, so it's really not ready

to be

used
for anything. But I do appreciate, and

surprised at the same time, with

the
level of

interests that this has generated.

Answering your

question. When using APS-Direct, you always need to

remember

that the whole point of having APS-Direct is to enable codec

compression

in
sound device (APS/VAS), hence to let

encoded frames flowing end-to-end

from
the

microphone down to the socket and vice versa.

The

sample on_stream_created() snippet shows how to open the sound device

in
codec format according to the codec being used by the

call. So since the

sound device is opened in codec mode, you

can't no longer feed it with PCM

frames (e.g. the tone

generator).

To use the tone generator (or any other

pjmedia features that works on PCM

frames such as WAV files),

you will need to open the sound device in PCM

mode to play the

ring tones, then when you want to communicate with the

call/stream, you will need to close the sound device, and re-open it using

the codec that is used by the call.

The

on_stream_created() snippet currently doesn't show how to do this, so

you need to do it yourself.

cheers

Benny


Visit our blog: http://blog.pjsip.org

pjsip

mailing list

On Sun, Feb 15, 2009 at 8:18 PM, iajdani@provati.com

wrote: > >> I am trying to play ringtone to the caller at 180
response. What I wrote >> in >> on_call_state callback is
given below. The code just execute fine but no >> ringtone in my
earpiece. I am now using APS-DIRECT. >> > > First of all, the
aps-direct branch is supposed to be an internal branch > and > we're
not quite finished with it so expect few rough edges here and there. >
Even the API is not quite finalized yet, so it's really not ready to be

used > for anything. But I do appreciate, and surprised at the

same time, with > the > level of interests that this has generated.

Answering your question. When using APS-Direct, you always need

to > remember > that the whole point of having APS-Direct is to
enable codec compression > in > sound device (APS/VAS), hence to let
encoded frames flowing end-to-end > from > the microphone down to
the socket and vice versa. > > The sample on_stream_created()
snippet shows how to open the sound device > in > codec format
according to the codec being used by the call. So since the > sound
device is opened in codec mode, you can't no longer feed it with PCM >
frames (e.g. the tone generator). > > To use the tone generator (or
any other pjmedia features that works on PCM > frames such as WAV
files), you will need to open the sound device in PCM > mode to play
the ring tones, then when you want to communicate with the >
call/stream, you will need to close the sound device, and re-open it using

the codec that is used by the call. > > The on_stream_created()

snippet currently doesn't show how to do this, so > you need to do it
yourself. > > cheers > Benny >
_______________________________________________ > Visit our blog:
http://blog.pjsip.org > > pjsip mailing list >
pjsip@lists.pjsip.org >
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >

Thanks Benny for your help. It was really insightfull. The good news is the application initially initialized as PCM mode. I think I know how to open it up in PCM mode as well. I successfully created the ringtone and could play it as well. But the bad news is, once ringtone is played I am unable to disconnect the sound port. The on_stream_created callback suppose to disconnect that automatically and well it does, but I loose the calles sound. after that my phone looses sound but i can hear sound in the other side. The way i did that. I opened up a media port for ring tone. then i assigned that to conference port with pjsua_conf_add_port. then i connect the conference id with master conference port id 0. now when i play the ringtone i can hear. I think somehow I am missing something here.    #define SAMPLES_PER_FRAME   64     #define ON_DURATION         1500     #define OFF_DURATION        2500            status = pjmedia_tonegen_create2(app_pool, NULL ,8000, 1, SAMPLES_PER_FRAME, 16, 0, &ring_port);     if (status != PJ_SUCCESS)            return;       status = pjsua_conf_add_port( app_pool,ring_port,&c_id);       pjsua_conf_connect(c_id,0);           if (status != PJ_SUCCESS) {      PJ_LOG(1,(THIS_FILE, "connecting ring port failed to device, status=%d", status));      return;    }      {    pjmedia_tone_desc tones[1];            tones[0].freq1 = 400;    tones[0].freq2 = 0;    tones[0].on_msec = ON_DURATION;    tones[0].off_msec = OFF_DURATION;    status = pjmedia_tonegen_play(ring_port, 1, tones,1); /***************************for deinitialization*******************/    if (ring_port){  pjmedia_tonegen_stop(ring_port);  pjsua_conf_disconnect(0,c_id);  pjsua_conf_remove_port(c_id);  pjmedia_port_destroy(ring_port);  ring_port=NULL;  return PJ_TRUE;      } > On Sun, Feb 15, 2009 at 8:18 PM, <iajdani@provati.com> wrote: > >> I am trying to play ringtone to the caller at 180 response. What I wrote >> in >> on_call_state callback is given below. The code just execute fine but no >> ringtone in my earpiece. I am now using APS-DIRECT. >> > > First of all, the aps-direct branch is supposed to be an internal branch > and > we're not quite finished with it so expect few rough edges here and there. > Even the API is not quite finalized yet, so it's really not ready to be > used > for anything. But I do appreciate, and surprised at the same time, with > the > level of interests that this has generated. > > Answering your question. When using APS-Direct, you always need to > remember > that the whole point of having APS-Direct is to enable codec compression > in > sound device (APS/VAS), hence to let encoded frames flowing end-to-end > from > the microphone down to the socket and vice versa. > > The sample on_stream_created() snippet shows how to open the sound device > in > codec format according to the codec being used by the call. So since the > sound device is opened in codec mode, you can't no longer feed it with PCM > frames (e.g. the tone generator). > > To use the tone generator (or any other pjmedia features that works on PCM > frames such as WAV files), you will need to open the sound device in PCM > mode to play the ring tones, then when you want to communicate with the > call/stream, you will need to close the sound device, and re-open it using > the codec that is used by the call. > > The on_stream_created() snippet currently doesn't show how to do this, so > you need to do it yourself. > > cheers > Benny > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > On Sun, Feb 15, 2009 at 8:18 PM, <iajdani@provati.com> wrote: > >> I am trying to play ringtone to the caller at 180 response. What I wrote >> in >> on_call_state callback is given below. The code just execute fine but no >> ringtone in my earpiece. I am now using APS-DIRECT. >> > > First of all, the aps-direct branch is supposed to be an internal branch > and > we're not quite finished with it so expect few rough edges here and there. > Even the API is not quite finalized yet, so it's really not ready to be > used > for anything. But I do appreciate, and surprised at the same time, with > the > level of interests that this has generated. > > Answering your question. When using APS-Direct, you always need to > remember > that the whole point of having APS-Direct is to enable codec compression > in > sound device (APS/VAS), hence to let encoded frames flowing end-to-end > from > the microphone down to the socket and vice versa. > > The sample on_stream_created() snippet shows how to open the sound device > in > codec format according to the codec being used by the call. So since the > sound device is opened in codec mode, you can't no longer feed it with PCM > frames (e.g. the tone generator). > > To use the tone generator (or any other pjmedia features that works on PCM > frames such as WAV files), you will need to open the sound device in PCM > mode to play the ring tones, then when you want to communicate with the > call/stream, you will need to close the sound device, and re-open it using > the codec that is used by the call. > > The on_stream_created() snippet currently doesn't show how to do this, so > you need to do it yourself. > > cheers > Benny > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >
MJ
Manoj Joshi
Sun, Apr 12, 2009 10:49 AM

Dear Rawshan,

Did you find solution to this issue? Any clue?

Regards,

Manoj
-----Original Message-----
From: pjsip-bounces@lists.pjsip.org
[mailto:pjsip-bounces@lists.pjsip.org]On Behalf Of iajdani@provati.com
Sent: Tuesday, February 17, 2009 1:58 AM
To: pjsip list
Subject: Re: [pjsip] Need little help here --- Ringtone with APS

Thanks Benny for your help. It was really insightfull. The good news is
the application initially initialized as PCM mode. I think I know how to
open it up in PCM mode as well. I successfully created the ringtone and
could play it as well. But the bad news is, once ringtone is played I am
unable to disconnect the sound port. The on_stream_created callback suppose
to disconnect that automatically and well it does, but I loose the calles
sound. after that my phone looses sound but i can hear sound in the other
side.

The way i did that. I opened up a media port for ring tone. then i
assigned that to conference port with pjsua_conf_add_port. then i connect
the conference id with master conference port id 0. now when i play the
ringtone i can hear.
I think somehow I am missing something here.

#define SAMPLES_PER_FRAME   64
  #define ON_DURATION         1500
  #define OFF_DURATION        2500


  status = pjmedia_tonegen_create2(app_pool, NULL ,8000, 1,

SAMPLES_PER_FRAME, 16, 0, &ring_port);
if (status != PJ_SUCCESS)
return;

  status = pjsua_conf_add_port( app_pool,ring_port,&c_id);

  pjsua_conf_connect(c_id,0);


 if (status != PJ_SUCCESS) {
   PJ_LOG(1,(THIS_FILE, "connecting ring port failed to device,

status=%d", status));
return;
}

 {

 pjmedia_tone_desc tones[1];

 tones[0].freq1 = 400;
 tones[0].freq2 = 0;
 tones[0].on_msec = ON_DURATION;
 tones[0].off_msec = OFF_DURATION;

 status = pjmedia_tonegen_play(ring_port, 1, tones,1);

/********for deinitialization/

 if (ring_port){

pjmedia_tonegen_stop(ring_port);
pjsua_conf_disconnect(0,c_id);
pjsua_conf_remove_port(c_id);
pjmedia_port_destroy(ring_port);
ring_port=NULL;
return PJ_TRUE;
}

On Sun, Feb 15, 2009 at 8:18 PM, iajdani@provati.com wrote:

I am trying to play ringtone to the caller at 180 response. What I

wrote

in
on_call_state callback is given below. The code just execute fine but

no

ringtone in my earpiece. I am now using APS-DIRECT.

First of all, the aps-direct branch is supposed to be an internal branch
and
we're not quite finished with it so expect few rough edges here and

there.

Even the API is not quite finalized yet, so it's really not ready to be
used
for anything. But I do appreciate, and surprised at the same time, with
the
level of interests that this has generated.

Answering your question. When using APS-Direct, you always need to
remember
that the whole point of having APS-Direct is to enable codec compression
in
sound device (APS/VAS), hence to let encoded frames flowing end-to-end
from
the microphone down to the socket and vice versa.

The sample on_stream_created() snippet shows how to open the sound

device

in
codec format according to the codec being used by the call. So since the
sound device is opened in codec mode, you can't no longer feed it with

PCM

frames (e.g. the tone generator).

To use the tone generator (or any other pjmedia features that works on

PCM

frames such as WAV files), you will need to open the sound device in PCM
mode to play the ring tones, then when you want to communicate with the
call/stream, you will need to close the sound device, and re-open it

using

the codec that is used by the call.

The on_stream_created() snippet currently doesn't show how to do this,

so

you need to do it yourself.

cheers
Benny


Visit our blog: http://blog.pjsip.org

pjsip mailing list
pjsip@lists.pjsip.org
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org

On Sun, Feb 15, 2009 at 8:18 PM, iajdani@provati.com wrote: > >> I am

trying to play ringtone to the caller at 180 response. What I wrote >> in >>
on_call_state callback is given below. The code just execute fine but no >>
ringtone in my earpiece. I am now using APS-DIRECT. >> > > First of all, the
aps-direct branch is supposed to be an internal branch > and > we're not
quite finished with it so expect few rough edges here and there. > Even the
API is not quite finalized yet, so it's really not ready to be > used > for
anything. But I do appreciate, and surprised at the same time, with > the >
level of interests that this has generated. > > Answering your question.
When using APS-Direct, you always need to > remember > that the whole point
of having APS-Direct is to enable codec compression > in > sound device
(APS/VAS), hence to let encoded frames flowing end-to-end > from > the
microphone down to the socket and vice versa. > > The sample
on_stream_created() snippet shows how to open the sound device > in > codec
format according to the codec being used by the call. So since the > sound
device is opened in codec mode, you can't no longer feed it with PCM >
frames (e.g. the tone generator). > > To use the tone generator (or any
other pjmedia features that works on PCM > frames such as WAV files), you
will need to open the sound device in PCM > mode to play the ring tones,
then when you want to communicate with the > call/stream, you will need to
close the sound device, and re-open it using > the codec that is used by the
call. > > The on_stream_created() snippet currently doesn't show how to do
this, so > you need to do it yourself. > > cheers > Benny >
_______________________________________________ > Visit our blog:
http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org >
http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >

Dear Rawshan, Did you find solution to this issue? Any clue? Regards, Manoj -----Original Message----- From: pjsip-bounces@lists.pjsip.org [mailto:pjsip-bounces@lists.pjsip.org]On Behalf Of iajdani@provati.com Sent: Tuesday, February 17, 2009 1:58 AM To: pjsip list Subject: Re: [pjsip] Need little help here --- Ringtone with APS Thanks Benny for your help. It was really insightfull. The good news is the application initially initialized as PCM mode. I think I know how to open it up in PCM mode as well. I successfully created the ringtone and could play it as well. But the bad news is, once ringtone is played I am unable to disconnect the sound port. The on_stream_created callback suppose to disconnect that automatically and well it does, but I loose the calles sound. after that my phone looses sound but i can hear sound in the other side. The way i did that. I opened up a media port for ring tone. then i assigned that to conference port with pjsua_conf_add_port. then i connect the conference id with master conference port id 0. now when i play the ringtone i can hear. I think somehow I am missing something here. #define SAMPLES_PER_FRAME 64 #define ON_DURATION 1500 #define OFF_DURATION 2500 status = pjmedia_tonegen_create2(app_pool, NULL ,8000, 1, SAMPLES_PER_FRAME, 16, 0, &ring_port); if (status != PJ_SUCCESS) return; status = pjsua_conf_add_port( app_pool,ring_port,&c_id); pjsua_conf_connect(c_id,0); if (status != PJ_SUCCESS) { PJ_LOG(1,(THIS_FILE, "connecting ring port failed to device, status=%d", status)); return; } { pjmedia_tone_desc tones[1]; tones[0].freq1 = 400; tones[0].freq2 = 0; tones[0].on_msec = ON_DURATION; tones[0].off_msec = OFF_DURATION; status = pjmedia_tonegen_play(ring_port, 1, tones,1); /***************************for deinitialization*******************/ if (ring_port){ pjmedia_tonegen_stop(ring_port); pjsua_conf_disconnect(0,c_id); pjsua_conf_remove_port(c_id); pjmedia_port_destroy(ring_port); ring_port=NULL; return PJ_TRUE; } > On Sun, Feb 15, 2009 at 8:18 PM, <iajdani@provati.com> wrote: > >> I am trying to play ringtone to the caller at 180 response. What I wrote >> in >> on_call_state callback is given below. The code just execute fine but no >> ringtone in my earpiece. I am now using APS-DIRECT. >> > > First of all, the aps-direct branch is supposed to be an internal branch > and > we're not quite finished with it so expect few rough edges here and there. > Even the API is not quite finalized yet, so it's really not ready to be > used > for anything. But I do appreciate, and surprised at the same time, with > the > level of interests that this has generated. > > Answering your question. When using APS-Direct, you always need to > remember > that the whole point of having APS-Direct is to enable codec compression > in > sound device (APS/VAS), hence to let encoded frames flowing end-to-end > from > the microphone down to the socket and vice versa. > > The sample on_stream_created() snippet shows how to open the sound device > in > codec format according to the codec being used by the call. So since the > sound device is opened in codec mode, you can't no longer feed it with PCM > frames (e.g. the tone generator). > > To use the tone generator (or any other pjmedia features that works on PCM > frames such as WAV files), you will need to open the sound device in PCM > mode to play the ring tones, then when you want to communicate with the > call/stream, you will need to close the sound device, and re-open it using > the codec that is used by the call. > > The on_stream_created() snippet currently doesn't show how to do this, so > you need to do it yourself. > > cheers > Benny > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org > > On Sun, Feb 15, 2009 at 8:18 PM, <iajdani@provati.com> wrote: > >> I am trying to play ringtone to the caller at 180 response. What I wrote >> in >> on_call_state callback is given below. The code just execute fine but no >> ringtone in my earpiece. I am now using APS-DIRECT. >> > > First of all, the aps-direct branch is supposed to be an internal branch > and > we're not quite finished with it so expect few rough edges here and there. > Even the API is not quite finalized yet, so it's really not ready to be > used > for anything. But I do appreciate, and surprised at the same time, with > the > level of interests that this has generated. > > Answering your question. When using APS-Direct, you always need to > remember > that the whole point of having APS-Direct is to enable codec compression > in > sound device (APS/VAS), hence to let encoded frames flowing end-to-end > from > the microphone down to the socket and vice versa. > > The sample on_stream_created() snippet shows how to open the sound device > in > codec format according to the codec being used by the call. So since the > sound device is opened in codec mode, you can't no longer feed it with PCM > frames (e.g. the tone generator). > > To use the tone generator (or any other pjmedia features that works on PCM > frames such as WAV files), you will need to open the sound device in PCM > mode to play the ring tones, then when you want to communicate with the > call/stream, you will need to close the sound device, and re-open it using > the codec that is used by the call. > > The on_stream_created() snippet currently doesn't show how to do this, so > you need to do it yourself. > > cheers > Benny > _______________________________________________ > Visit our blog: http://blog.pjsip.org > > pjsip mailing list > pjsip@lists.pjsip.org > http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org >