PJSIP - respond to reInvite (fax)

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

 



Hello, i'm new to pjsip and i am with a problem, i've searched for 
examples, tried several things, but I was not able to solve it :(

I'm trying to establish a T.38 fax session, and in order to do that it 
is necessary to follow the following steps. Imagine A wants to send a 
fax to B.


1- A calls B,
2- A sends a special tone to B
3- B detects the tone
4- B sends a reINVITE with it's fax capabilites:

[...]
m=image <port> udptl t38
a=T38FaxVersion:0
a=T38MaxBitRate:14400
a=T38FaxMaxBuffer:200
a=T38FaxMaxDatagram:72
a=T38FaxUdpEC:t38UDPRedundancy
a=T38FaxRateManagement:transferredTCF


5- A sends 200 OK with the following information in the SDP
[...]
m=image <port> udptl t38



A               B
    Invite ->
    <-200 OK
    Special tone ->
    <-INVITE
    200 ok ->


I think i can try two different approaches, but i'm not being able to 
test neither successfully.

1- change the SDP from the dialog so all my following answers after my 
initial Invite contain a SDP with m=image <port> udptl t38.  Trying to 
do that I always get an error of something related to "OFFER"

        ...
        pj_strdup(pool_vars, &m_video->desc.media, &pj_str("image"));
        m_video->desc.port = port;
        m_video->desc.port_count = 1;
        pj_strdup (pool_vars, &m_video->desc.transport, &pj_str("udptl"));

        m_video->desc.fmt_count = 1;
        m_video->desc.fmt[0] = pj_str("t38");

        pjsip_inv_set_sdp_answer(this->g_inv, local_sdp);
        ...



2- intercept the reInvite and respond with the correct SDP, I am able to 
catch the INVITE from B, by listening all dialog request, BUT I have 
never managed to send an answer :(



Does anyone have any ideia how can I respond to an INVITE received 
inside a dialog and how can I set the SDP to contain m=image <port> 
udptl t38

Thank you very much

Andr?




[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