*i make my functions 'ints'. you an chastise me if you wish* ;) so like: // callback cfg.cb.on_dtmf_digit = (void *)dtmf_digit; int dtmf_digit(pjsua_call_id call_id, int digit) { // blow it away pjsua_recorder_destroy(whatever_your_recordID_was); return 1; } I can't code the whole thing for you. but thats the basic idea. On Mar 23, 2013, at 7:15 AM, Zeeshan Ali <z.satan666 at gmail.com> wrote: > Thanx a million for your reply. > > > Ok so how to complete the recording file ie stop recording. Just > destroying recorder should do the trick? > > and i'm using the gui version not the console version. > So to destroy the recorder, there has to be an event. so to this > becomes a void function? > > and what is this function returning? > > On 3/22/13, Ted Gerold <tedgerold at icloud.com> wrote: >> Hello Zeeshan, >> This example should get you started: >> >> >> int pjsua_record(pjsua_call_id call_id, char *file) >> { >> pjsua_recorder_id rec_id; >> >> pjsua_call_info ci; >> pjsua_call_get_info(call_id, &ci); >> >> pj_str_t rec_file = pj_str(file); >> pj_status_t status = PJ_ENOTFOUND; >> >> status = pjsua_recorder_create(&rec_file, 0, NULL, 0, 0, &rec_id); >> >> if (status != PJ_SUCCESS) { >> printf("GASP!! record error!!\n"); >> } >> >> pjsua_conf_port_id rec_port = pjsua_recorder_get_conf_port(rec_id); >> pjsua_conf_connect(ci.conf_slot, rec_port); >> >> // manage your rec_id here so you can destroy it later!! >> // i.e. if a digit is pressed >> // >> >> return 1; >> } >> >> >> >> >> On Mar 22, 2013, at 5:59 AM, Zeeshan Ali <z.satan666 at gmail.com> wrote: >> >>> still no reply.. do people exist out there? >>> >>> void record() >>> { >>> >>> pjsua_recorder_id rec_id=NULL; >>> pj_status_t status; >>> pjsua_conf_port_id rec_port=NULL; >>> pjsua_call_info ci; >>> pjsua_call_get_info(g_call_id, &ci); >>> >>> >>> status = pjsua_recorder_create(&pj_str("rec.wav"), 0, NULL, >>> -1, 0, &rec_id); >>> if (status != PJ_SUCCESS) { >>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture from >>> pjsua_recorder_create", status); >>> } else { >>> rec_port = pjsua_recorder_get_conf_port(rec_id); >>> g_rec_id=rec_id; >>> PJ_LOG(3, (THIS_FILE, "dll_startAudioCapture recId=%d >>> confPort=%d", rec_id, rec_port)); >>> /* connect sound port to recorder port */ >>> status = pjmedia_conf_connect_port(pjsua_var.mconf, 0, >>> rec_port, 0); >>> if (status != PJ_SUCCESS) { >>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture >>> pjmedia_conf_connect_port snd->recport", status); >>> } >>> /* connect caller's port to recorder port */ >>> status = pjmedia_conf_connect_port(pjsua_var.mconf, >>> ci.conf_slot, rec_port, 0); >>> if (status != PJ_SUCCESS) { >>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture >>> pjmedia_conf_connect_port caller->recport", status); >>> } >>> } >>> } >>> >>> void rec_stop() >>> { >>> pjsua_recorder_id rec_id=NULL; >>> pj_status_t status; >>> rec_id=g_rec_id; >>> status=pjsua_recorder_destroy(rec_id); >>> } >>> can anyone PLEASE tell me where i'm going wrong? i'm getting a " error >>> dll_startAudioCapture from pjsua_recorder_create: Unknown PJLIB error >>> " >>> >>> >>> C'om guys please help me out, out of 3 mails atleast reply to 1 of them >>> >>> On 3/12/13, Zeeshan Ali <z.satan666 at gmail.com> wrote: >>>> this is the code i have been using.. >>>> >>>> void record() >>>> { >>>> pj_str_t rec_file; >>>> pjsua_recorder_id rec_id ; >>>> pjsua_conf_port_id rec_port; >>>> >>>> pjsua_call_info call_info; >>>> pj_status_t status; >>>> pjsua_call_get_info(g_call_id, &call_info); >>>> //rec_file = pj_str("./record.wav"); >>>> rec_id=-1; >>>> >>>> status = pjsua_recorder_create(&rec_file, 0, NULL, -1, >>>> 0,&rec_id); >>>> >>>> if (status != PJ_SUCCESS) { >>>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture from >>>> pjsua_recorder_create", status); >>>> } >>>> else >>>> { >>>> rec_port = pjsua_recorder_get_conf_port( rec_id); >>>> PJ_LOG(5, (THIS_FILE, "dll_startAudioCapture recId=%d >>>> confPort=%d", rec_id, rec_port)); >>>> /* connect sound port to recorder port */ >>>> status = pjmedia_conf_connect_port(pjsua_var.mconf, 0, >>>> rec_port, 0); >>>> if (status != PJ_SUCCESS) { >>>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture >>>> pjmedia_conf_connect_port snd->recport", status); >>>> } >>>> /* connect caller's port to recorder port */ >>>> status = pjmedia_conf_connect_port(pjsua_var.mconf, >>>> call_info.conf_slot, rec_port, 0); >>>> if (status != PJ_SUCCESS) { >>>> pjsua_perror(THIS_FILE, "error dll_startAudioCapture >>>> pjmedia_conf_connect_port caller->recport", status); >>>> >>>> } >>>> } >>>> >>>> >>>> when i execute this on my s60v5, i get "error dll_startAudioCapture >>>> from pjsua_recorder_create" >>>> >>>> please help me >>>> >>>> On 3/12/13, Zeeshan Ali <z.satan666 at gmail.com> wrote: >>>>> please reply.. I need to implement call recording by pjsua recorder >>>>> create and not by pjmedia.. >>>>> >>>>> On 3/11/13, Zeeshan Ali <z.satan666 at gmail.com> wrote: >>>>>> Hi, >>>>>> >>>>>> I have been working on symbian_ua_gui available in 2.1.0 version of >>>>>> pjsip. >>>>>> >>>>>> I added support for volume + - and switching audio source on vas >>>>>> direct. >>>>>> >>>>>> I have been trying to implement call recording feature. Can you please >>>>>> provide me the module for call recording in wave for symbian_ua.cpp >>>>>> file in symbian_ua_gui. >>>>>> >>>>>> It's kinda urgent and i please request you to look at it and give me a >>>>>> module for it. >>>>>> >>>>>> Zeeshan >>>>>> >>>>> >>>> >>> >>> _______________________________________________ >>> 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 >> > > _______________________________________________ > 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