Help with custom INVITE

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



I would like to get call control of a telephone with PJSUA base and CSTA
PBX. Thats mean, dont use pjsua as a softphone even use it for manage a
hardware IP phone controlled by an IP-PBX, that support SIP uaCSTA. The
objetive is make and hangup calls with the PC instead of the phone.

Please even this mail is a bit large I have tried to explain detailed how I
suppose I could obtain this operation with pjsua/pjsip, and I need some
developers help.

PJSIP doesnt support uaCSTA, but I suspect that I can make "call control"
with some INFO request (I really only need dial and hangup in order to make
"clic to call" funcionality).

My problem is that first I have to initiate a call session with an INVITE
with some specific header. In page 7 of the uaCSTA specification (
http://www.ecma-international.org/publications/files/ECMA-TR/TR-087.pdf )
says:

" (...) The application creates an application session by establishing a SIP
dialog with the user agent using a SIP INVITE method that includes a
Content-Disposition header indicating ?signal? and "handling=required" to
mandate support for the application/csta+xml MIME type.
An ECMA-323 Request System Status service request is included in the SIP
INVITE body with the Content-Type application/csta+xml. (...)"

I have captured (from wireshark) an INVITE packet requesting this control
from one working (and closed source) softphone, as follow:

Session Initiation Protocol
    Request-Line: INVITE sip:pbx at company.com <sip%3Apbx at company.com> SIP/2.0
        Method: INVITE
        [Resent Packet: False]
    Message Header
        v: SIP/2.0/UDP 10.151.86.95:5060;branch=z9hG4bK49d4d1e9-9
            Transport: UDP
            Sent-by Address: 10.151.86.95
            Sent-by port: 5060
            Branch: z9hG4bK49d4d1e9-9
        i: 002b-0bb0-066c-ffffffff at 10.151.86.95
        Max-Forwards: 40
        t: <sip:pbx at company.com <sip%3Apbx at company.com>>
            SIP to address: sip:pbx at company.com <sip%3Apbx at company.com>
        f: <sip:segalion at company.com <sip%3Asegalion at company.com>
>;tag=2b-bb0-66c-ffffffff
            SIP from address:
sip:segalion at company.com<sip%3Asegalion at company.com>
            SIP tag: 2b-bb0-66c-ffffffff
        CSeq: 1 INVITE
            Sequence Number: 1
            Method: INVITE
        Accept: application/csta+xml
        Expires: 180
        m: <sip:segalion at 10.10.86.95:5060>
            Contact Binding: <sip:segalion at 10.10.86.95:5060>
                URI: <sip:segalion at 10.10.86.95:5060>
                    SIP contact address: sip:segalion at 10.10.86.95:5060
        User-Agent: Unknown
        Allow: ACK, MESSAGE, NOTIFY, INVITE, BYE, CANCEL, REFER, OPTIONS,
INFO, PUBLISH, UPDATE
        Accept-Language: es-es
        k: replaces
        x-nt-GUID: 0034a185170bdc304b150a9ad08ab288691bb0
        x-nt-location: 35395728
        P-Preferred-Identity:
<sip:segalion at company.com<sip%3Asegalion at company.com>
>
        c: application/csta+xml
        Content-Disposition: signal; handling=required
        l: 205
    Message Body
        <?xml version="1.0" encoding="UTF-8"?><RequestSystemStatus xmlns="
http://www.ecma-international.org/standards/ecma-323/csta/ed3"; xmlns:xsi="
http://www.w3.org/2001/XMLSchema-instance";></RequestSystemStatus>


My problem is to construct this headers with pjsip. I was reading Developers
Guide, but I need some orientation about making a call INVITE with this
headers (basically "content_type: application/csta+xml" and
"Content-Disposition: signal; handling=required") and no SDP media
negotiation, but I want to mantain the automatic control state on pjsua core
(acks, timeouts, etc.).

I was thinking in make a new "pjsua_call_make_call" function modification
without sound, media and sdp parts, and a specific pjsua_process_msg_data.

Could anybody help me with all this (orientation of how construct this
header with minimum modification of pjsua code).

I suppose when I have the "200 OK" I can costruct my own CSTAs INFO requests
to make call control.

Please, help me. I need help from developers, and I dont know if this
mailing list is the best site.

Thanks in advance...
Segalion
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.pjsip.org/pipermail/pjsip_lists.pjsip.org/attachments/20090623/d4a70c7e/attachment.html>


[Index of Archives]     [Asterisk Users]     [Asterisk App Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Security]     [Bugtraq]     [Linux]     [Linux OMAP]     [Linux MIPS]     [Linux API]
  Powered by Linux