In
this example, B (an IP phone) sets his phone forwarding to C which is a
long
distance number. A is from PSTN. When A makes a
call to B, B sends 302
to
the PSTN gateway. The gateway forwards the call
to ser which routes it
back
to C via the PSTN gatway. So in ser's call
log, I see a call from A to
C.
Apparently I can't charge A or C. Only B is
in my domain. But B is not
even
in the second call log. In my understanding, if B
sets the forward
setting
on his phone to a toll number, he should be the
one paying the bill.
regarding pstn gws, i recommend that you turn off 302 processing, since
otherwise your gw may end up paying for the forwarded (expensive) leg of
the call, since, as you say, you cannot charge the PSTN caller.
Since logging and accounting is a problem, I want to only allow local
numbers in the forward field. Is there any function available to match and
modify the contact field. For example, if it is "Contact:
<sip:18085551212@mydomain.com>", I should change it to "Contact:
vm+(original-callee-number)(a)mydomain.com" which goes to voicemail. Are
search() and append_urihf() good for this?
I think the same issue applies to REFER. However I won't be able to disallow
a toll call on REFER. It is possible a secretary makes a toll call, then
REFREs to the boss. So I have to find some way to log and account this.
Thanks,
Richard