[OpenSIPS-Users] trace_dialog() is missing things
Jeff Pyle
jpyle at fidelityvoice.com
Tue Mar 10 20:57:24 CET 2009
Hi Bogdan,
Nope, this one:
http://lists.opensips.org/pipermail/users/2009-March/003620.html
What you're saying makes sense. It's all good, as they say.
- Jeff
On 3/10/09 3:15 PM, "Bogdan-Andrei Iancu" <bogdan at voice-system.ro> wrote:
> Hi Jeff,
>
> You mean this email
> http://lists.opensips.org/pipermail/users/2009-March/003611.html ?
>
> Well, please note there are 2 ways of triggering siptracing:
> 1) by setting the flag
> 2) by setting the user AVP
>
> In Matteo's case I wasn't sure what scenario he has.
>
> trace_dialog() can work in both cases:
> 1) define the flag and call trace_dialog() (no need to set the flag
> actually)
> 2) set the user AVP and call trace_dialog()
>
> Let me know if it is clear for you.
>
> Regards,
> Bogdan
>
> Jeff Pyle wrote:
>> Hi Bogdan,
>>
>> Yep, that did it.
>>
>> I was working from an email on this list you had addressed to Matteo
>> Marzuola on 5-Mar this year at 15:26 GMT instructing him to do not define or
>> use trace_flag when using trace_dialog(). Unfortunately I can't find a web
>> link to an archived version of the message...
>>
>> Anyway, all is well. Thanks.
>>
>>
>> - Jeff
>>
>>
>>
>> On 3/10/09 8:39 AM, "Bogdan-Andrei Iancu" <bogdan at voice-system.ro> wrote:
>>
>>
>>> Hi Jeff,
>>>
>>> Even if you use the trace_dialog() function, you still need to define
>>> the trace_flag parameter for the module (this flag is internally used by
>>> the functions). So, just try to define the trace_flag param:
>>> http://www.opensips.org/html/docs/modules/devel/siptrace.html#id227228
>>>
>>> Regards,
>>> Bogdan
>>>
>>> Jeff Pyle wrote:
>>>
>>>> Hello,
>>>>
>>>> In the example below, 10.1.1.1 is the caller, 10.10.10.10 is Opensips,
>>>> 10.2.2.2 is the first PSTN carrier that rejects the call, and 10.3.3.3
>>>> is the second PSTN carrier that accepts the call.
>>>>
>>>> In this tshark output...
>>>>
>>>> 1 10.1.1.1 -> 10.10.10.10 SIP/SDP Request: INVITE
>>>> sip:19998887777 at 10.10.10.10;user=phone, with session description
>>>> 2 10.10.10.10 -> 10.1.1.1 SIP Status: 100 Trying
>>>> 3 10.10.10.10 -> 10.2.2.2 SIP/SDP Request: INVITE
>>>> sip:9998887777 at 10.2.2.2;user=phone, with session description
>>>> 4 10.2.2.2 -> 10.10.10.10 SIP Status: 100 Trying
>>>> 5 10.2.2.2 -> 10.10.10.10 SIP Status: 503 Service Unavailable
>>>> 6 10.10.10.10 -> 10.2.2.2 SIP Request: ACK
>>>> sip:9998887777 at 10.2.2.2;user=phone
>>>> ------ first carrier rejected call, try second ------
>>>> 7 10.10.10.10 -> 10.3.3.3 SIP/SDP Request: INVITE
>>>> sip:9998887777 at 10.3.3.3;user=phone, with session description
>>>> 8 10.3.3.3 -> 10.10.10.10 SIP Status: 100 Trying
>>>> 9 10.3.3.3 -> 10.10.10.10 SIP Status: 180 Ringing
>>>> 10 10.10.10.10 -> 10.1.1.1 SIP Status: 180 Ringing
>>>> 11 10.3.3.3 -> 10.10.10.10 SIP/SDP Status: 200 OK, with session
>>>> description
>>>> 12 10.10.10.10 -> 10.1.1.1 SIP/SDP Status: 200 OK, with session
>>>> description
>>>> 13 10.1.1.1 -> 10.10.10.10 SIP Request: ACK sip:9998887777 at 10.3.3.3
>>>> 14 10.10.10.10 -> 10.3.3.3 SIP Request: ACK sip:9998887777 at 10.3.3.3
>>>> ------ call in progress, caller hangs up ------
>>>> 15 10.1.1.1 -> 10.10.10.10 SIP Request: BYE sip:9998887777 at 10.3.3.3
>>>> 16 10.10.10.10 -> 10.3.3.3 SIP Request: BYE sip:9998887777 at 10.3.3.3
>>>> 17 10.3.3.3 -> 10.10.10.10 SIP Status: 200 OK
>>>> 18 10.10.10.10 -> 10.1.1.1 SIP Status: 200 OK
>>>>
>>>> ...only packets 1 and 15 are captured to the database.
>>>>
>>>> Some portions of the config:
>>>>
>>>> loadmodule "dialog.so"
>>>> modparam("dialog", "enable_stats", 1)
>>>> modparam("dialog", "dlg_flag", 4)
>>>> modparam("dialog", "default_timeout", 21600)
>>>> modparam("dialog", "bye_on_timeout_flag", 4)
>>>> modparam("dialog", "dlg_extra_hdrs", "Hint: dialog expired\r\n")
>>>> modparam("dialog", "dlg_match_mode", 1) # 0 = DID_ONLY; 1 = DID first,
>>>> SIP second
>>>> modparam("dialog", "db_url", "mysql://user:pass@localhost/database")
>>>> modparam("dialog", "db_mode", 1)
>>>> modparam("dialog", "db_update_period", 60)
>>>> modparam("dialog", "profiles_with_value", "inbound ; outbound")
>>>>
>>>> loadmodule "siptrace.so"
>>>> modparam("siptrace", "db_url",
>>>> "mysql://user:pass@ww.xx.yy.zz/database" <pass at ww.xx.yy.zz/database%22>)
>>>> modparam("siptrace", "trace_on", 1)
>>>> modparam("siptrace", "enable_ack_trace", 1)
>>>>
>>>> And then in route[0]:
>>>>
>>>> if (is_method("INVITE")) {
>>>> setflag(4); # Dialog, and BYE on expiration
>>>> if (create_dialog()){
>>>> xlog("L_INFO", "Initial dialog successfully created\n");
>>>> trace_dialog();
>>>> }
>>>> route(1); # Process invite
>>>> }
>>>>
>>>> In following advice Bogdan gave a month or two back, since I am using
>>>> dialog-based tracing, I am not setting the flag. For what it¹s worth,
>>>> the dialogs seem to be working properly, with the exception of the
>>>> ACK-before-200-processed known issue.
>>>>
>>>> I¹m not sure where to go from here. Any thoughts or hints?
>>>>
>>>>
>>>> Thanks,
>>>> Jeff
>>>> ------------------------------------------------------------------------
>>>>
>>>> _______________________________________________
>>>> Users mailing list
>>>> Users at lists.opensips.org
>>>> http://lists.opensips.org/cgi-bin/mailman/listinfo/users
>>>>
>>>>
>>
>>
>>
>
More information about the Users
mailing list