I have no experience to run PJSIP on iOS yet (may be there is some restrictions on call count in iOS version of PJSIP?). Based on my experience of using PJSIP on desktop, you should call all the parties with different calls to pjsua_call_make_call (execute pjsua_call_make_call 4 times for 4...
So I found out how to change the orientation in iOS_dev.m in pjmedia. static pj_status_t ios_stream_set_cap(pjmedia_vid_dev_stream *s, pjmedia_vid_dev_cap cap, const void *pval) { struct ios_stream *strm = (struct ios_stream*)s; [strm->video_output connectionWithMediaType:AVMediaTypeVideo]; capConnection.videoOrientation = AVCaptureVideoOrientationPortraitUpsideDown; } ...
Set unique local ports (might be also described as bind ports in configuration) for these applications. For plain pjsua this is --local-port parameter.
Somehow your softphone build has only Speex and iLBC codecs enabled and those can not be handled by your asterisk. Check for PJMEDIA_HAS_G711_CODEC macro value, starting from pj/config_site.h maybe. Also: why not start with pjsua, perhaps cutting it down (usually simpler than adding features to simplest application)? ...
Ok, I found solution. Address of the proxy server should be presented in the form of IP address and port number with sip: prefix: acc = lib.create_account(pj.AccountConfig(username='79xxxxxxxxx', password='my_pass', domain='multifon.ru', proxy='sip:193.201.229.35:5060') Here 193.201.229.35 - IP address corresponding to the domain address sbc.megafon.ru And a couple of comments on the code: 1)...
Finally I got the solution for sending SMS using pjsip-2.4 Here is the code /**Send message to this number * @param String number * @param String msgBody*/ public void sendInstantMessage(String number, String msgBody) { String sipServer = "aaa.ggg.net"; String buddy_uri = "<sip:" + number + "@" + sipServer + ">";...
My mistake was that I didn't specify the full path of the file and it didnt get permission to write the file in that location.
This is an auto-build script. Place it anywhere and execute, it will automatically download pjsip-2.2.1 and build it with OpenSSL and multi-architecture supported. Then you can open the sample project, it may still have some red libraries, but you can safely delete them and continue to build. #!/bin/sh SOURCE_URL="http://www.pjsip.org/release/2.2.1/pjproject-2.2.1.tar.bz2" PROJECT_DIR="pjproject-2.2.1"...
i would refactor the code so you are also loading the files in chunks, but you can access the later chunks by adding an offset to your byte-pointer: int currentOffset = 0; while (fileSize>0) { ... char* bytePointer = (char*)[fileData bytes]; pj_strset(&text, bytePointer+currentOffset, MIN([fileData length], chunkSize); currentOffset += chunkSize; }...
This issue is not probably due to PJSIP or multi threads in Android. Actually the TLS tunnel we use to connect the mobile and the server is on TCP which is a bad choice for sending RTP data. However, I don't have any idea how iOS and Mac manages to...
As this wiki: http://trac.pjsip.org/repos/wiki/Getting-Started/iPhone?format=pdf of pjsip explains, with iOS7 onwards pjsua is using high level APIs of AVAudioSession to manage opening and closing of sound streams which doesn't allow the older methods of (automatically) reconnecting your media streams after GSM call (or any other sound) interruptions. So to make it...
This happens if you've built your native components with the android-21 target, but are trying to run it on a device with an older Android version. Unless you take very special care, you can't run binaries built with the android-21 target on older devices. For basic C functions, it shouldn't...
Generate tone by yourself. You can use android.media.ToneGenerator. Something like this: ToneGenerator toneGenerator = new ToneGenerator(AudioManager.STREAM_VOICE_CALL, 100); toneGenerator.startTone(ToneGenerator.TONE_CDMA_NETWORK_USA_RINGBACK, 1000); EDIT You can get CallInfo in notifyCallState. CallInfo ci = call.getInfo(); if (ci.getState() == pjsip_inv_state.PJSIP_INV_STATE_EARLY && ci.getRole() == pjsip_role_e.PJSIP_ROLE_UAC && ci.getLastReason().equals("Ringing")) { toneGeneratorHelper.startRingBack(); } else {...
windows-phone-8,sip,pjsip,windows-phone-voip
Since you mention that you've tried the windows phone telnet app sample, I assume you've downloaded the PJSIP winphone source as mentioned in their wp8 getting started guide. To create a simple app that perform outgoing and receive incoming call as you mentioned, you can simply reuse this winphone project....
You can get the calling method details using the stacktrace of the thread. StackTraceElement caller = Thread.currentThread().getStackTrace()[1]; caller.getClassName(); caller.getMethodName(); caller.getFileName(); caller.getLineNumber(); Note that the 1st index is picked because 0 is the current method (top of stack), and it goes down with each calling method. So you can pick any...
There is an RTP extension that may be used to carry mobile orientation data. It isn't supported in PJSIP yet. summary of existing standards for CVO Or you may wish to use application specific RTCP APP type packets to transmit in a custom format (freesoft.org/CIE/RFC/1889/33.htm) Either one of these options...