Search code examples
javasiptelephonyjain-sip

How do I do a SIP telephone call


I want to constract a telephone-caller inside my java application. For this pupose I used a JAIN-SIP library. After the first INVITE the system needs Proxy-Authentication. The second invite is conscructed with the help of "AuthenticationHelperImpl.class":https://gitorious.org/0xdroid/external_nist-sip/source/1e0f37693341071f316852c8e05a08deef2b7fc4:java/gov/nist/javax/sip/clientauthutils/AuthenticationHelperImpl.java#L311, includes Proxy-Authentication header and lloks like:

INVITE sip:+11111111111@fpbx.de;maddr=fpbx.de SIP/2.0
Call-ID: 1c609509a43b721ab11c396c1e6ea9e7@192.168.17.107
CSeq: 2 INVITE
From: "77735hk6iu" <sip:77735hk6iu@fpbx.de>
To: "+111111111111111" <sip:+11111111111@fpbx.de>
Via: SIP/2.0/UDP 192.168.17.107:34567;rport;branch=z9hG4bK-383337-5bc4fd6b7a616843fce9eaa243bcb10e
Max-Forwards: 70
Contact: <sip:77735hk6iu@192.168.17.107:5060>
Content-Type: application/sdp
Proxy-Authorization: Digest       username="77735hk6iu",realm="fpbx.de",nonce="VLaIxVS2h5muPS30F2zLdXHjup6ELyen",uri="sip:+111111111111@fpbx.de:5060;maddr=fpbx.de",response="47ea578c6b01c99fd3ed2b41c60983df"
Content-Length: 61

v=0
o=- 130565705777141827 1 IN IP4 192.168.17.107
s=call

After that I receive at the beginning code 100 message ("your call is very important for us") followed with 408 code message ("Request Timeout").

What I did to imporve the situation:

  1. tried different phone number formats: 004930208488480, 04930208488480, 049, 0049, sdfhajfkhsk. For all these numbers I become the same combination on messages.

  2. tried to use port in request uri

  3. tried to remove maddr from request uri.

  4. tried to fullfill the message body with codek settings.

  5. to set and remove rport from via header

If you now what I'm doing wrong, please, help me. Thank you in advance.


Solution

  • The problem was partly solved when a removed "maddr=fpbx.de" from request URI and from proxy-auth. uri

    fpr this a used handleCahllenge method with boolean arguments:

    inviteTid = authenticationHelper.handleChallenge(response, tid, sipProvider, 15, **true**);
    

    But I still don't know how I can a acchieve sponaneous telephone number.