Got another oddity at the same site as before. This morning, th proxy server appears to have simply stopped processing INVITE requests. It continued to process and log REGISTER requests. The ngrep process I have running to log traffic shows the inbound INVITE request, but nothing after it, no response, no additional INVITE, nothing.
Again, I have ngrep traffic logs for the period if they would help. Although I have not yet increased the debug level on the process. Was hoping something would come of the information I forwarded to serhelp first. However, I'll be increasing the logging level tonight.
Other ideas?
please, send us logs, ngreps and config file -- we haven't observed such behaviour elsewhere and have thus no quick answer. Use serhelp@lists.iptel.org so that it is not dumped to the whole mailing list.
thanks,
-jiri
At 04:26 PM 6/2/2003, Jamin W. Collins wrote:
Got another oddity at the same site as before. This morning, th proxy server appears to have simply stopped processing INVITE requests. It continued to process and log REGISTER requests. The ngrep process I have running to log traffic shows the inbound INVITE request, but nothing after it, no response, no additional INVITE, nothing.
Again, I have ngrep traffic logs for the period if they would help. Although I have not yet increased the debug level on the process. Was hoping something would come of the information I forwarded to serhelp first. However, I'll be increasing the logging level tonight.
Other ideas?
-- Jamin W. Collins
Remember, root always has a loaded gun. Don't run around with it unless you absolutely need it. -- Vineet Kumar
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in the example above, you simply change hostname in a fixed manner. Personalized forwarding should not be any difficult development effort, if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Jiri,
Thank you for the follow up.
What I'm thinking about is having say 3 numbers:
1001@domain.com 1002@domain.com 1003@domain.com
Only 1001@domain.com is a published number. If someone calls 1001@domain.com and that number is in use, I want to forward to 1002@domain.com, and if that is in use, forward to 1003@domain.com. Finally, if the last one is busy, a busy is returned.
I understand the voicemail.com domain forwarding below. I guess I'll try the same technique with 'setuser("1002");'. I'll report how it works.
---greg
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in the example above, you simply change hostname in a fixed manner. Personalized forwarding should not be any difficult development effort, if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
'setuser("1002");' works, but it is a burden of static configuration -- you don't want to do that for every user. A database lookup at this place would do a much better job. We will look at it, once we complete current release and move from the frozen status.
-jiri
At 03:20 PM 6/4/2003, Greg Fausak wrote:
Jiri,
Thank you for the follow up.
What I'm thinking about is having say 3 numbers:
1001@domain.com 1002@domain.com 1003@domain.com
Only 1001@domain.com is a published number. If someone calls 1001@domain.com and that number is in use, I want to forward to 1002@domain.com, and if that is in use, forward to 1003@domain.com. Finally, if the last one is busy, a busy is returned.
I understand the voicemail.com domain forwarding below. I guess I'll try the same technique with 'setuser("1002");'. I'll report how it works.
---greg
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in the example above, you simply change hostname in a fixed manner. Personalized forwarding should not be any difficult development effort, if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Right,
I will write a module, something like:
alias()
Except, perhaps...
forward()
Is that the right approach? The a forward table in the database that contains (at least) :
User_id forward_id
Where user_id is a number, and if that number is busy (or unavailable) then forward the request to forward_id.
Now that I think about it, this is exactly like the alias() call, isn't it?
---greg
-----Original Message----- From: serusers-admin@lists.iptel.org [mailto:serusers-admin@lists.iptel.org] On Behalf Of Jiri Kuthan Sent: Wednesday, June 04, 2003 1:02 PM To: Greg Fausak; serusers@lists.iptel.org Cc: sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
'setuser("1002");' works, but it is a burden of static configuration -- you don't want to do that for every user. A database lookup at this place would do a much better job. We will look at it, once we complete current release and move from the frozen status.
-jiri
At 03:20 PM 6/4/2003, Greg Fausak wrote:
Jiri,
Thank you for the follow up.
What I'm thinking about is having say 3 numbers:
1001@domain.com 1002@domain.com 1003@domain.com
Only 1001@domain.com is a published number. If someone calls 1001@domain.com and that number is in use, I want to forward to 1002@domain.com, and if that is in use, forward to 1003@domain.com. Finally, if the last one is busy, a busy is returned.
I understand the voicemail.com domain forwarding below. I guess I'll try the same technique with 'setuser("1002");'. I'll report how it works.
---greg
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in
the example
above, you simply change hostname in a fixed manner. Personalized forwarding should not be any difficult development effort,
if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
Indeed -- one could reuse the usrloc lookup. If failure_route is entered one could initiate a lookup("alternative_dst") and keep the alternative destinations in this table, similarly to how aliases are kept in the "aliases" table. Just keep in mind that one has to manipulate the table via FIFO -- accessing directly the database back-end does not help.
-Jiri
roughly like that...
t_on_failure("3"); t_relay(); break; ... failure_route[3] { if (lookup("alternate_dst")) { t_relay(); break; } t_reply("600", "I really give up trying somewhere else"); }
At 08:21 PM 6/4/2003, Greg Fausak wrote:
Right,
I will write a module, something like:
alias()
Except, perhaps...
forward()
Is that the right approach? The a forward table in the database that contains (at least) :
User_id forward_id
Where user_id is a number, and if that number is busy (or unavailable) then forward the request to forward_id.
Now that I think about it, this is exactly like the alias() call, isn't it?
---greg
-----Original Message----- From: serusers-admin@lists.iptel.org [mailto:serusers-admin@lists.iptel.org] On Behalf Of Jiri Kuthan Sent: Wednesday, June 04, 2003 1:02 PM To: Greg Fausak; serusers@lists.iptel.org Cc: sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
'setuser("1002");' works, but it is a burden of static configuration -- you don't want to do that for every user. A database lookup at this place would do a much better job. We will look at it, once we complete current release and move from the frozen status.
-jiri
At 03:20 PM 6/4/2003, Greg Fausak wrote:
Jiri,
Thank you for the follow up.
What I'm thinking about is having say 3 numbers:
1001@domain.com 1002@domain.com 1003@domain.com
Only 1001@domain.com is a published number. If someone calls 1001@domain.com and that number is in use, I want to forward to 1002@domain.com, and if that is in use, forward to 1003@domain.com. Finally, if the last one is busy, a busy is returned.
I understand the voicemail.com domain forwarding below. I guess I'll try the same technique with 'setuser("1002");'. I'll report how it works.
---greg
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in
the example
above, you simply change hostname in a fixed manner. Personalized forwarding should not be any difficult development effort,
if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
I tried a lookup("location") in my reply_route, got this error:
Jun 4 14:53:42 rave ser[27097]: lookup(): Unable to find To HF
I understand about the FIFO.
If I forward number A -> B -> C, do I have to reset T_on_negative in each reply_route, or does it happen automatically?
That is:
failure_route[3] { if (lookup("alternate_dst")) { t_on_negative("3"); t_relay(); break; } else { t_reply("600", "nowhere to go, maybe voicemail is the last stop"); } }
One other question, does t_relay() generate a packet to myself?
---greg
-----Original Message----- From: serusers-admin@lists.iptel.org [mailto:serusers-admin@lists.iptel.org] On Behalf Of Jiri Kuthan Sent: Wednesday, June 04, 2003 3:45 PM To: Greg Fausak; serusers@lists.iptel.org Cc: sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
Indeed -- one could reuse the usrloc lookup. If failure_route is entered one could initiate a lookup("alternative_dst") and keep the alternative destinations in this table, similarly to how aliases are kept in the "aliases" table. Just keep in mind that one has to manipulate the table via FIFO -- accessing directly the database back-end does not help.
-Jiri
roughly like that...
t_on_failure("3"); t_relay(); break; ... failure_route[3] { if (lookup("alternate_dst")) { t_relay(); break; } t_reply("600", "I really give up trying somewhere else"); }
At 08:21 PM 6/4/2003, Greg Fausak wrote:
Right,
I will write a module, something like:
alias()
Except, perhaps...
forward()
Is that the right approach? The a forward table in the database that contains (at least) :
User_id forward_id
Where user_id is a number, and if that number is busy (or unavailable) then forward the request to forward_id.
Now that I think about it, this is exactly like the alias() call, isn't it?
---greg
-----Original Message----- From: serusers-admin@lists.iptel.org [mailto:serusers-admin@lists.iptel.org] On Behalf Of Jiri Kuthan Sent: Wednesday, June 04, 2003 1:02 PM To: Greg Fausak; serusers@lists.iptel.org Cc: sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
'setuser("1002");' works, but it is a burden of static configuration -- you don't want to do that for every user. A database lookup at this place would do a much better job. We will look at it, once we complete current release and move from the frozen status.
-jiri
At 03:20 PM 6/4/2003, Greg Fausak wrote:
Jiri,
Thank you for the follow up.
What I'm thinking about is having say 3 numbers:
1001@domain.com 1002@domain.com 1003@domain.com
Only 1001@domain.com is a published number. If someone calls 1001@domain.com and that number is in use, I want to forward to 1002@domain.com, and if that is in use, forward to 1003@domain.com. Finally, if the last one is busy, a busy is returned.
I understand the voicemail.com domain forwarding below. I guess I'll try the same technique with 'setuser("1002");'. I'll report how it works.
---greg
t_on_negative along with reply_route, or better named in 8.11 t_on_failure along with failure_route can do that. They simply capture all cases which resulted in a downstream failure (negative reply or non-responsive UAS). They don't care if it is "busy", "DnD" or whatsoever. (8.11 could do more about that if needed.)
e.g., ... t_on_negative(1); t_relay(); ... reply_route[1] { revert_uri(); rewritehostport("voicemail.com"); append_uri(); }
There is currently no way to personalize forwrding -- in
the example
above, you simply change hostname in a fixed manner.
Personalized
forwarding should not be any difficult development effort,
if needed.
Also, there is a first version of voicemail component in 8.11.
-jiri
At 07:40 PM 6/2/2003, Greg Fausak wrote:
I've asked this question before. I realize it is a little out of context.
But, if anyone can give me a hint how to forward to another number if I try to call a busy number I would appreciate it.
Thanks, ---greg Greg Fausak August.Net Services, LLC
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
At 11:01 PM 6/4/2003, Greg Fausak wrote:
I tried a lookup("location") in my reply_route, got this error:
Jun 4 14:53:42 rave ser[27097]: lookup(): Unable to find To HF
Can you send me surrounding logs and your config file too -- I have difficultied to find this error message. Does the message include a To header field? Which SER version are you using?
I understand about the FIFO.
If I forward number A -> B -> C, do I have to reset T_on_negative in each reply_route, or does it happen automatically?
t_on_failure is a one-time shot and if you wish to try somewhere else after the first retry, you have to set it to some value again. That's this way to avoid mistaken endless recursion.
That is:
failure_route[3] { if (lookup("alternate_dst")) { t_on_negative("3");
^^^ yes, that's it.
t_relay(); break; } else { t_reply("600", "nowhere to go, maybe voicemail is the last stop"); } }
One other question, does t_relay() generate a packet to myself?
I'm not sure I understand what myself means. t_relay forwards a request to destination(s) in current uri (set). The destination can have the same URI as caller, if you mean that.
Regards,
-jiri
Hello,
On 04-06 16:01, Greg Fausak wrote:
I tried a lookup("location") in my reply_route, got this error:
Jun 4 14:53:42 rave ser[27097]: lookup(): Unable to find To HF
what version of ser do you use ? One of previous version was looking for To header field although the header field was not used, but this was fixed a long time ago.
Jan.
Hi,
I'm still using 0.8.10 with all of the patches. I know I should use the newer stuff, but I experienced many core dumps. I'll give the new stuff a try again this weekend.
I ran into another problem with my forwarding script. My code looks like:
If(src_ip == my.pstn.gateway.address) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
This means that calls can come from my gateway without authentication. Later on in the script: ...
t_on_negative("9"); if(!t_relay()) { sl_reply_error(); break; }; }
reply_route[9] { log(1,"REPLY_ROUTE:"); revert_uri();
setuser("nextnumber"); t_relay(); }
-----
This logic only works if I get rid of my authentication/challenge logic. Because the T_relay() src_ip address is NOT the pstn.gateway address after the reply_route executes!
So, I tried putting a line in the reply_route that did:
setflag(9);
And changed the beginning of my script:
If(src_ip == my.pstn.gateway.address | isflagset(9)) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
This doesn't work. I know the flag was set in the reply_route, but it is not recognized in the main script.
Do you know what I'm talking about? Any ideas?
---greg
-----Original Message----- From: Jan Janak [mailto:jan@iptel.org] Sent: Friday, June 06, 2003 8:18 AM To: Greg Fausak Cc: 'Jiri Kuthan'; serusers@lists.iptel.org; sip@august.net Subject: Re: [Serusers] Forwarding to another number if busy
Hello,
On 04-06 16:01, Greg Fausak wrote:
I tried a lookup("location") in my reply_route, got this error:
Jun 4 14:53:42 rave ser[27097]: lookup(): Unable to find To HF
what version of ser do you use ? One of previous version was looking for To header field although the header field was not used, but this was fixed a long time ago.
Jan.
At 03:48 PM 6/6/2003, Greg Fausak wrote: --snip--
My code looks like:
If(src_ip == my.pstn.gateway.address) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
This means that calls can come from my gateway without authentication. Later on in the script: ...
t_on_negative("9"); if(!t_relay()) { sl_reply_error(); break; };
}
reply_route[9] { log(1,"REPLY_ROUTE:"); revert_uri();
setuser("nextnumber"); t_relay();
}
This logic only works if I get rid of my authentication/challenge logic. Because the T_relay() src_ip address is NOT the pstn.gateway address after the reply_route executes!
? I'm puzzled -- does the script above somehow relate to the problem you are describing? You only check src_ip in route{} which is called only once, so why do you care about what happens after reply_route{}?
So, I tried putting a line in the reply_route that did:
setflag(9);
And changed the beginning of my script:
If(src_ip == my.pstn.gateway.address | isflagset(9)) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
Why do you re-check authentication in reply_route? The authentication has been already verified on the original request and it buys no security to do it again with the same request later.
This doesn't work. I know the flag was set in the reply_route, but it is not recognized in the main script.
I guess neither src_ip nor flag were copied to reply_route context in 8.10. That should have changed in 8.11, in case you need it.
a.
I do not know why reply_route seems to call the main route block again. I do know that if I comment out the authentication code in the main route block my forwarding works. If I do not comment it out, then the forwarding fails with an 'Unauthorized' directed at the pstn gateway.
Yes, the script is related...I get a call from the PSTN for the phone number 1234. 1234 doesn't answer, so my on_negative attempts to forward to 5678. The forward to 5678 fails because no authentication is present because the source IP address isn't any longer the pstn gateway AND the main route block code is being executed again from the on_negative callback. I am not doing any additional authentication in the callback, I assume the Unauthorized is coming from the main script.
I asked Jiri earlier if another 'packet' (sip message) was forwarded to the routing engine...perhaps on locahost. That would explain the re-execution of the main route block and it would explain the mechanics of an on_negative callback execution.
I'll take a look at 0.8.11.
Thanks,
---greg
-----Original Message----- From: Andy Blen [mailto:andy.blen@iptel.org] Sent: Friday, June 06, 2003 9:54 AM To: Greg Fausak; 'Jan Janak' Cc: serusers@lists.iptel.org; sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
At 03:48 PM 6/6/2003, Greg Fausak wrote: --snip--
My code looks like:
If(src_ip == my.pstn.gateway.address) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
This means that calls can come from my gateway without authentication. Later on in the script: ...
t_on_negative("9"); if(!t_relay()) { sl_reply_error(); break; };
}
reply_route[9] { log(1,"REPLY_ROUTE:"); revert_uri();
setuser("nextnumber"); t_relay();
}
This logic only works if I get rid of my authentication/challenge logic. Because the T_relay() src_ip address is NOT the pstn.gateway address after the reply_route executes!
? I'm puzzled -- does the script above somehow relate to the problem you are describing? You only check src_ip in route{} which is called only once, so why do you care about what happens after reply_route{}?
So, I tried putting a line in the reply_route that did:
setflag(9);
And changed the beginning of my script:
If(src_ip == my.pstn.gateway.address | isflagset(9)) { ... } Else { if(!www_authorize()) { www_challenge(); }; }
Why do you re-check authentication in reply_route? The authentication has been already verified on the original request and it buys no security to do it again with the same request later.
This doesn't work. I know the flag was set in the reply_route, but it is not recognized in the main script.
I guess neither src_ip nor flag were copied to reply_route context in 8.10. That should have changed in 8.11, in case you need it.
a.
At 05:14 PM 6/6/2003, Greg Fausak wrote:
I do not know why reply_route seems to call the main route block again. I do know that if I comment out the authentication code in the main route block my forwarding works. If I do not comment it out, then the forwarding fails with an 'Unauthorized' directed at the pstn gateway.
Presumably, you rewrite the URI with a URI which results in a loop over loopback interface. That causes a request to be forwarded to the server again as a new transaction, which is subject to authentication checks again. You can verify it by looking at via_cnt in Warning header field of replies or by watching local interface. There are different ways of dealing with it -- not challenging request coming from itself, forwarding to gateway directly (as opposed through itself), for example.
a.
At 05:47 PM 6/6/2003, Andy Blen wrote:
At 05:14 PM 6/6/2003, Greg Fausak wrote:
I do not know why reply_route seems to call the main route block again. I do know that if I comment out the authentication code in the main route block my forwarding works. If I do not comment it out, then the forwarding fails with an 'Unauthorized' directed at the pstn gateway.
Presumably, you rewrite the URI with a URI which results in a loop over loopback interface. That causes a request to be forwarded to the server again as a new transaction, which is subject to authentication checks again. You can verify it by looking at via_cnt in Warning header field of replies or by watching local interface. There are different ways of dealing with it -- not challenging request coming from itself, forwarding to gateway directly (as opposed through itself), for example.
one more possibility is not to consume credentials if next hop is youself.
a.
Andy,
The point is there aren't any credentials.
Anyway, thanks for the ideas.
---greg
-----Original Message----- From: Andy Blen [mailto:andy.blen@iptel.org] Sent: Friday, June 06, 2003 11:11 AM To: Andy Blen; Greg Fausak; 'Jan Janak' Cc: serusers@lists.iptel.org; sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
At 05:47 PM 6/6/2003, Andy Blen wrote:
At 05:14 PM 6/6/2003, Greg Fausak wrote:
I do not know why reply_route seems to call the main route block again. I do know that if I comment out the authentication code in the main route block my forwarding works. If I do not comment it out, then the forwarding fails with an 'Unauthorized' directed at the pstn gateway.
Presumably, you rewrite the URI with a URI which results in a loop over loopback interface. That causes a request to be forwarded to the server again as a new transaction, which is subject to authentication checks again. You can verify it by looking at via_cnt in Warning header field of replies or by watching local interface. There are different ways of dealing with it -- not challenging request coming from itself, forwarding to gateway directly (as opposed through itself), for example.
one more possibility is not to consume credentials if next hop is youself.
a.
Use then the other methods, for instance look if the request is coming from SER's address. The condition src_ip==gw cannot hold since you forward to yourself and the request appears to come from server itself in the second cycle.
a.
At 08:51 PM 6/6/2003, Greg Fausak wrote:
Andy,
The point is there aren't any credentials.
Anyway, thanks for the ideas.
---greg
-----Original Message----- From: Andy Blen [mailto:andy.blen@iptel.org] Sent: Friday, June 06, 2003 11:11 AM To: Andy Blen; Greg Fausak; 'Jan Janak' Cc: serusers@lists.iptel.org; sip@august.net Subject: RE: [Serusers] Forwarding to another number if busy
At 05:47 PM 6/6/2003, Andy Blen wrote:
At 05:14 PM 6/6/2003, Greg Fausak wrote:
I do not know why reply_route seems to call the main route block again. I do know that if I comment out the authentication code in the main route block my forwarding works. If I do not comment it out, then the forwarding fails with an 'Unauthorized' directed at the pstn gateway.
Presumably, you rewrite the URI with a URI which results in a loop over loopback interface. That causes a request to be forwarded to the server again as a new transaction, which is subject to authentication checks again. You can verify it by looking at via_cnt in Warning header field of replies or by watching local interface. There are different ways of dealing with it -- not challenging request coming from itself, forwarding to gateway directly (as opposed through itself), for example.
one more possibility is not to consume credentials if next hop is youself.
a.
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Andy Blen iptel.org Services
Hello,
On 02-06 08:26, Jamin W. Collins wrote:
Got another oddity at the same site as before. This morning, th proxy server appears to have simply stopped processing INVITE requests. It continued to process and log REGISTER requests. The ngrep process I have running to log traffic shows the inbound INVITE request, but nothing after it, no response, no additional INVITE, nothing.
Again, I have ngrep traffic logs for the period if they would help. Although I have not yet increased the debug level on the process. Was hoping something would come of the information I forwarded to serhelp first. However, I'll be increasing the logging level tonight.
No, the information you sent to serhelp was not sufficient, we are unable to find the problem. Could you, please, increase the debug level and send us ser logs ? Please follow the instructions provided by Andrei in one of previous emails.
Jan.
On Sat, Jun 07, 2003 at 09:50:51AM +0200, Jan Janak wrote:
No, the information you sent to serhelp was not sufficient, we are unable to find the problem. Could you, please, increase the debug level and send us ser logs ? Please follow the instructions provided by Andrei in one of previous emails.
I don't seem to have that information any longer. However, I have increased the normal logging level to 9 and added the memlog=2 entry as requested.
By "ser logs" I assume that you are referring to the ser entries in the syslog or similar?
At 04:39 PM 6/7/2003, Jamin W. Collins wrote:
On Sat, Jun 07, 2003 at 09:50:51AM +0200, Jan Janak wrote:
No, the information you sent to serhelp was not sufficient, we are unable to find the problem. Could you, please, increase the debug level and send us ser logs ? Please follow the instructions provided by Andrei in one of previous emails.
I don't seem to have that information any longer. However, I have increased the normal logging level to 9 and added the memlog=2 entry as requested.
yes, that should be fine. then restart and capture logs.
By "ser logs" I assume that you are referring to the ser entries in the syslog or similar?
yes.
thank you,
-jiri
I got my hardcoded forwarding working, so I thought I'd createa table and make it real. I created a new table, called onbusy, that is exactly like 'aliases'. I then modified serctl to support it, and inserted a forwardint record.
Then, in my code, I added:
# # forward to location # route[2] { log(1,"IN ROUTE2"); if(method=="INVITE" | method=="BYE" | method=="PRACK") { log(1,"TRACE: addRecordRoute()"); setflag(1); setflag(2); addRecordRoute(); };
t_on_negative("2");
if(!t_relay()) { sl_reply_error(); break; }; }
reply_route[2] { log(1,"REPLY_ROUTE:"); revert_uri(); # # check to see if there is a number to forward to # if (!lookup("onbusy")) { t_reply_unsafe("487", "Busy Here?"); break; };
append_branch(); t_on_negative("2"); }
However, it doesn't work...I get... Jun 7 10:22:28 rave ser[752]: ERROR: reply cannot be parsed Jun 7 10:22:28 rave ser[752]: on_negative_reply: Error in do_action
Any ideas???
---greg
Greg,
please be kind enough and retry with 8.11 -- developing with 8.10 is for us currently quite counterproductive.
thanks,
-jiri
At 07:03 PM 6/7/2003, Greg Fausak wrote:
I got my hardcoded forwarding working, so I thought I'd createa table and make it real. I created a new table, called onbusy, that is exactly like 'aliases'. I then modified serctl to support it, and inserted a forwardint record.
Then, in my code, I added:
# # forward to location # route[2] { log(1,"IN ROUTE2"); if(method=="INVITE" | method=="BYE" | method=="PRACK") { log(1,"TRACE: addRecordRoute()"); setflag(1); setflag(2); addRecordRoute(); };
t_on_negative("2"); if(!t_relay()) { sl_reply_error(); break; };
}
reply_route[2] { log(1,"REPLY_ROUTE:"); revert_uri(); # # check to see if there is a number to forward to # if (!lookup("onbusy")) { t_reply_unsafe("487", "Busy Here?"); break; };
append_branch(); t_on_negative("2");
}
However, it doesn't work...I get... Jun 7 10:22:28 rave ser[752]: ERROR: reply cannot be parsed Jun 7 10:22:28 rave ser[752]: on_negative_reply: Error in do_action
Any ideas???
---greg
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
OK,
I'll try again. I couldn't keep it up before :-)
---greg
Greg,
please be kind enough and retry with 8.11 -- developing with 8.10 is for us currently quite counterproductive.
thanks,
-jiri
At 07:03 PM 6/7/2003, Greg Fausak wrote:
I got my hardcoded forwarding working, so I thought I'd createa table and make it real. I created a new table, called onbusy, that is exactly like 'aliases'. I then modified serctl to support it, and inserted a forwardint record.
Then, in my code, I added:
# # forward to location # route[2] { log(1,"IN ROUTE2"); if(method=="INVITE" | method=="BYE" | method=="PRACK") { log(1,"TRACE: addRecordRoute()"); setflag(1); setflag(2); addRecordRoute(); };
t_on_negative("2"); if(!t_relay()) { sl_reply_error(); break; };
}
reply_route[2] { log(1,"REPLY_ROUTE:"); revert_uri(); # # check to see if there is a number to forward to # if (!lookup("onbusy")) { t_reply_unsafe("487", "Busy Here?"); break; };
append_branch(); t_on_negative("2");
}
However, it doesn't work...I get... Jun 7 10:22:28 rave ser[752]: ERROR: reply cannot be parsed Jun 7 10:22:28 rave ser[752]: on_negative_reply: Error in do_action
Any ideas???
---greg
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers
-- Jiri Kuthan http://iptel.org/~jiri/
Serusers mailing list serusers@lists.iptel.org http://lists.iptel.org/mailman/listinfo/serusers