Sip_custom.conf don't work in FreePBX 13

On an older FreePBX version I was able to create custom extensions from the script and reload sip. Now the custom extensions are also visible in ‘sip show peers’, they are also qualified but it is impossible to make a call to them.

I’ve got: Playback("SIP/114-00000005", "silence/1&cannot-complete-as-dialed&check-number-dial-again,noanswer")

In sip debug there is a SIP/2.0 503 Service Unavailable message or SIP/2.0 405 Method Not Allowed.

When I make ‘sip reload’ there are many warnings like this:
chan_sip.c:31471 build_peer: Invalid session-timers '' at line xxx of sip.conf

Settings for built-in and custom extensions are the same.

What can I do in this situation?

check the syntax .

The syntax is the same as in sip_additional.conf

you may type that manually again or comment it.

You cant create a local FreePBX extension merely by populating sip_custom.conf, there are dial plan and database entries required as well.

There is a supported method of creating an extension from the CLI:

Why is it so? The extensions from sip_custom.conf use the same from-internal context.

My script works with Microsoft Active Directory, when person has some attribute then it also has the extension in sip_custom.conf My script overwrites this file and make a sip reload every few minutes. Now if I want to use fwconsole bulkimport then I could only import extensions, but when somebody should not be allowed to have an extension then I couldn’t control it.

I figured it out on my own.

If we add custom extensions (eg. 550) in sip_custom.conf and if we want to receive calls it is necessary to add an additional dialplan in extensions_custom.conf file, eg.:

[ext-local-custom] exten => 550,1,Macro(user-callerid,) same => n,Answer same => n,NoCDR same => n,Dial(SIP/${EXTEN},${RINGTIMER_DEFAULT}) same => n,Hangup

Below error was because of some extensions had the session-timers parameter set to null.
chan_sip.c:31471 build_peer: Invalid session-timers '' at line xxx of sip.conf

Should be set to accept:

Glad you got it figured out. The problem you might run into (if it’s a problem for you) is that these custom extensions are not “known” to the GUI. If that’s a thing for you, then you might need to think about a way to read these custom contexts and add them using the Bulk Handler.

If it’s not a problem for you, you’re all good. If it’s something you want to manage later, it might need some attention in the future.