Repository navigation
Make extensions register: ATAs, fax machines and softphones - #27
Merged
Merged
Conversation
Three faults stopped every ICTCore extension from registering on the ictcore
SIP profile (verified on the ICTFax 6.0 image, 403 Forbidden on each REGISTER):
- A new account was saved without its owner on the object. DB::update stamps
created_by, but Account::save never copied it back, so Extension::save saw
user_id 0 and deleted the SIP user instead of writing it. The account only
appeared after a second save.
- The installers linked directory/ictcore.xml at directory/ level, outside any
<domain>. FreeSWITCH never finds users there. It now links into
directory/default/, inside the default domain.
- Devices send the domain they were configured with (the public IP or a
hostname), which never matches $${domain} on a NATed or cloud host.
force-register-domain maps them all onto the ICTCore domain.
Also: the vanilla demo users 1000-1019 (password 1234) are removed by the
installers, since they registered on 5060 with a published password, and the
Docker image pins RTP to the 16384-16484 range it publishes.
tahiralmas
pushed a commit
to ictinnovations/ictfax
that referenced
this pull request
Oct 9, 2026
…d range Link ICTCore's directory inside the default domain (directory/default/), where FreeSWITCH looks users up; at directory/ level every extension REGISTER got 403. Remove the vanilla demo users 1000-1019, whose published password 1234 let them register on 5060. Pin RTP to 16384-16484, the range this image publishes. Pairs with ictinnovations/ictcore#27 (Account owner on first save, force-register-domain).
tahiralmas
pushed a commit
to ictinnovations/ictdialer
that referenced
this pull request
Oct 9, 2026
…d range Link ICTCore's directory inside the default domain (directory/default/), where FreeSWITCH looks users up; at directory/ level every extension REGISTER got 403. Remove the vanilla demo users 1000-1019, whose published password 1234 let them register on 5060. Pin RTP to 16384-16484, the range this image publishes. Pairs with ictinnovations/ictcore#27 (Account owner on first save, force-register-domain).
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
No ICTCore extension could register on the
ictcoreSIP profile, so ATAs, fax machines and softphones never worked against a stock install. On the ICTFax 6.0 image every REGISTER got403 Forbidden, even with the right password. There were three causes:DB::updatestampscreated_bywith the session user, butAccount::savenever copied it back to the object.Extension::savethen sawuser_id0 and deleted the user's directory file instead of writing it. The account only appeared after a second save.directory/ictcore.xmlatdirectory/level, where FreeSWITCH never looks up users. It now goes intodirectory/default/, inside the default domain.$${domain}on a cloud or NATed host.force-register-domainmaps every registration onto the ICTCore domain.Also:
1234, and1001/1234registered on 5060.Tested on the ICTFax image, with a SIP client registering the way an ATA does:
POST /accounts)1001/1234After merging: existing installs need the
directory/defaultlink, the demo users removed and areloadxml. Every existing extension also needs one save (orPUT /accounts/{id}) to write its user. The ICTFax and ICTDialer images pick this up viaICTCORE_REF(ictinnovations/ictfax#127, ictinnovations/ictdialer#60).