PJSIP - respond to reInvite (fax)

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

 



Hi Andr?,

On 3/4/08, Andr? Teixeira <coelho at wit-software.com> wrote:
> 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);
>         ...
>

What's the exact error code/message that you see?


>
>
>  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
>

Rather than trapping all dialog events, the proper way to handle this
is to override the on_rx_offer() callback of the invite session. This
callback is called whenever the invite session receives new offer from
remote, either in re-INVITE, UPDATE, or other means.

Please see the comment/doxygen documentation of this callback for more
information.

cheers,
 -benny



>  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