I have installed asterisk 20 on a server connected to a trunk provided by sewan.fr.
All functionalities run as expected: inbound and outbound calls, internal calls, transfers… All but one, when I try to call an external phone, caller id is not transmitted and received shows “private callid” or “unknown” instead of SDA.
All parameters are mandatory. For example, if I remove from_user or from_domain, trunk remains registered but all external calls fails with following error:
== Everyone is busy/congested at this time (1:0/0/1)
Thus, I have tried to modify dialplan:
exten => _00[1-79]XXXXXXXX,1,Answer()
same => n,Set(CALLERID(all)=My name <my phone number>)
same => n,Dial(PJSIP/${EXTEN:1}@SBSR)
same => n,Hangup()
Same result.
I have tried to add send_rpid=yes and send_pai=yes in context. With one or these options, outbound calls fail with busy status.
I suppose I have done a mistake somewhere. But where ?
try Set(CALLERID(num)=00335xxxxxxxx) and Set(CALLERID(num)=335xxxxxxxx) and Set(CALLERID(num)=5xxxxxxxx)
If none of them are passed, I’m pretty sure there is a problem with your provider. I faced one time this problem with calls to France when the provider was using foreign gateways: they remove the callerid or insert a number from the gateway country.
Unless you enable RPID or PAI, there is no way the caller ID will get sent, as from_user is overriding the default mechanism. There is no point in trying unless you can find an acceptable way of signalling it.
If they a require a header other than RPID or PAI, you will have to add that explicitly.
My guess is that the one that fails with the busy status is the correct one, and you need to experiment, or read the provider’s documentation, to find out what they will accept there.