I am new to the SIP. I want to make an emergency call using pjsip library. What I know, it should probably set some header in INVITE request or so.
I briefly checked RFC 5031 what seems to be related to this.
But I did not find any mention about such call in pjsip doc.
Do somebody know how to make such calls using pjsip?
Setting such header probably does not work as expected, see pjsip INVITE with URN support
Related
I have a lab that I need to insert a custom body (SDP) in SIP message. I'm using python3-pjsip(pjproject2.9) to create simple SIP UA. However, python3-pjsip(pjproject2.9) does not support custom SDP. I found that someone raise a question about pjsua custom SDP on stack overflow and solved it. Unfortunately, I don't know how to modify the pjsua source with those tips. Would you tell me how to modify it in more detail or share the source you modified? .
Could I need to modify the C code?
I've never used PJSIP in Python, but I think you should look into on_call_sdp_created callback. There you should use pjmedia_sdp_media structure to add new SDP parameter to pjmedia_sdp_session provided by callback's argument. Functions pjmedia_sdp_attr_create and pjmedia_sdp_media_add_attr also should be helpful there.
Good luck!
i am using the sofia-sip library (an open source, cross-platform SIP stack) and what i see is that it responds automatically to incoming SIP INFO even tho' the INFO messages belong to a SIP dialog that has already been destroyed... has anyone experienced the same issue?
Previous version of the library did not seem to show this behaviour.
I'm not sure about any change in behaviour in Sofia-SIP between releases.
If you want to control SIP method handling in your application, rather than letting Sofia-SIP automatically respond to it, then at initialisation you should call nua_set_params() and pass it NUTAG_APPL_METHOD("<METHOD-NAME>"), e.g. NUTAG_APPL_METHOD("INFO").
If you have further questions, you may want to ask on the Sofia-SIP mailing list.
I want to initiate calls to two numbers using a 3rd party API. I need to make sure that the devices ring when they get the calls, media starts to transmit when the call is answered, and the call is terminated when hungup.
Ideally I would like to do this from JUnit tests so that I can automate this whole process. But any other tool will also be fine.
So this is what I want to do programatically,
1) Configure two SIP soft phones to answer on 2 different numbers using some credentials provided by the test.
2) Make a call using the API
3) Assert that two phones are in ringing state
4) Answer the call
5) Assert that RTP media is being transmitted among them
6) Hang up
7) Assert that the call is now successfully disconnected
I am quite new to telephony, so would appreciate any pointers on any tool or SDK that will help me accomplish this.
Please check out SipUnit https://code.google.com/p/commtesting/wiki/SipUnit.
It can do all above except check out the media is flowing yet.
Check out the KitCAT framework. It's based on JUnit and can support all of your requirements. It supports multiple user agents, which can all be coordinated within a test case. It also provides coordination with other protocols (e.g., RTP, HTTP).
Sample code:
SIPAgent callee1 = createAgent("callee1"); // sip:callee1#host
SIPAgent callee2 = createAgent("callee2"); // sip:callee2#host
// invoke your API here
invoke3rdPartyAPI(callee1.getSipURI(), callee2.getSipURI());
pause(2000);
assertThat(callee1, is(invited()));
assertThat(callee2, is(invited()));
callee1.answer();
callee2.answer();
pause(500);
assertThat(callee1, is(connectedTo(callee2))); // check for SDP match
callee1.playAudio(audioFileName);
pause(500);
assertThat(callee2, has(incomingMedia());
callee1.disconnect();
pause(500);
assertThat(callee2, is(disconnected()));
Check out the complete API here.
The documentation is straightforward here: http://developer.chrome.com/apps/app_hardware.html#isochronous_transfers
It says the callback will be done on the findDevice.onEvent callback. However, the documentation appears to be behind, because the API no longer uses usb.findDevice, instead, it is usb.findDevices. usb.findDevices does not appear to have an option to define an onEvent.
Here is the current usb.findDevices documentation: http://developer.chrome.com/apps/usb.html#method-findDevices
Packaged Apps concept is wonderful, but the documentation is very confusing at the moment. Would love some help. Thanks
Updated Question
My question is, how do I get the data back from the Isochronous connection?
Hello can we add or show the view in core telephony framework. if possible then how? Actually i have two diffrent application, one for inbound, second for outbound, i need to do show one view after 5sec-10sec of call whether its incoming or outgoing.Please help me out and revert me back as soon as possible . and its also a request please also send the reply to my gmail address i.e.goenka.sahil#gmail.com.
Really i need the code.
Sahil, have a look at Siphon's source code # http://code.google.com/p/siphon. In this code have a careful look at "RecentsViewController.mm". Hope this helps you.