Hi,
I need to manage the PRACK side application, I set
NUTAG_APPL_METHOD("PRACK"), With this configuration are passed to the
application the 183.
How do I configure the stack to deliver the application only the PRACK?,
Thanks,
Beppe

2012/3/14 Timo Bruhn <voip_v...@web.de>:
> Hi Nauman,
>
> did you find a solution for the problem when forking is combined with PRACK?
> Currently we are running into same problems with sofia-sip connecting to a 
> server that uses forking.
>
> Seems that disabling PRACK and soa engine works. But what if PRACK is 
> required?
>
> Thanks,
> Timo
>
>
>> Hi,
>>
>> Got a bit further with this, reason that the 200OK  ( to INVITE) is being 
>> discarded is because of this code :
>>
>> static int nua_invite_client_preliminary(nua_client_request_t *cr,
>>                      int status, char const *phrase,
>>                      sip_t const *sip)
>> {
>>   nua_handle_t *nh = cr->cr_owner;
>>   nua_dialog_usage_t *du = cr->cr_usage;
>>   nua_session_usage_t *ss = nua_dialog_usage_private(du);
>>
>>   assert(sip);
>>
>>   if (ss && sip && sip->sip_rseq) {
>>     /* Handle 100rel responses */
>>     sip_rseq_t *rseq = sip->sip_rseq;
>>
>>     /* Establish early dialog - we should fork here */
>>     if (!nua_dialog_is_established(nh->nh_ds)) {
>>       nta_outgoing_t *tagged;
>>
>>       nua_dialog_uac_route(nh, nh->nh_ds, sip, 1, 1);
>>       nua_dialog_store_peer_info(nh, nh->nh_ds, sip);
>>
>>      /* Tag the INVITE request */
>>      tagged = nta_outgoing_tagged(cr->cr_orq,
>>                    nua_client_orq_response, cr,
>>                    sip->sip_to->a_tag, sip->sip_rseq);
>>       if (tagged) {
>>     nta_outgoing_destroy(cr->cr_orq), cr->cr_orq = tagged;
>>       }
>>       else {
>>     cr->cr_graceful = 1;
>>     ss->ss_reason = "SIP;cause=500;text=\"Cannot Create Early Dialog\"";
>>       }
>>     }
>>
>>
>> When we get a 183 reliable response Sofia creates an early dialog and 
>> creates a new tagged INVITE request
>>
>> if (tagged) {
>>     nta_outgoing_destroy(cr->cr_orq)
>>
>> It looks like it marks the original request for destruction, the problem is 
>> when a 200OK comes in with a different tag, it looks as if its matched 
>> against the original transaction which is marked for > destruction and so is 
>> discarded by the code I posted initially in outgoing_recv in nta.c
>>
>>
>> We are handling all media (SDP) ourselves and have set PRACK to be one of 
>> the methods our app handles. We are using the nua API.
>>
>> Can Pekka or someone say whether PRACK and forking is supported with the 
>> way  we are using the Stack. We've seen some posts saying there are various 
>> bugs.
>>
>> When PRACK is not used the first 200OK received is passed to the application 
>> with cancel sent to the others. This is the behaviour we would like even 
>> when PRACK is used. However it seems > that when the first 183 reliable is 
>> received this results in subsequent 200OK from other forks to be discarded. 
>> We just want the first 200OK final response to be passed to our application 
>> > irrespective of which fork its from and are happy for CANCEL to be sent to 
>> others.
>>
>> Any comments most appreciated.
>> Thanks
>>
>
> ___________________________________________________________
> Ihr WEB.DE Postfach immer dabei: die kostenlose WEB.DE Mail App für iPhone 
> und Android.
> https://produkte.web.de/freemail_mobile_startseite/
>
> ------------------------------------------------------------------------------
> Virtualization & Cloud Management Using Capacity Planning
> Cloud computing makes use of virtualization - but cloud computing
> also focuses on allowing computing to be delivered as a service.
> http://www.accelacomm.com/jaw/sfnl/114/51521223/
> _______________________________________________
> Sofia-sip-devel mailing list
> Sofia-sip-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

------------------------------------------------------------------------------
This SF email is sponsosred by:
Try Windows Azure free for 90 days Click Here 
http://p.sf.net/sfu/sfd2d-msazure
_______________________________________________
Sofia-sip-devel mailing list
Sofia-sip-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/sofia-sip-devel

Reply via email to