PJSIP - respond to reInvite (fax)

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

 



Overriding the on_rx_offer() callback, solved the problems  ;-) 

All I nedded to do was change the port from 'offer' and set it as the sdp to use on the answer 

offer->media[0]->desc.port = <port> 
pjsip_inv_set_sdp_answer(inv, offer);


All went Ok


Thanks

Andr?


Benny Prijono wrote:
> 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?
>>     
>
> _______________________________________________
> Visit our blog: http://blog.pjsip.org
>
> pjsip mailing list
> pjsip at lists.pjsip.org
> http://lists.pjsip.org/mailman/listinfo/pjsip_lists.pjsip.org
>
>   




[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